#AWS - Quicksight SPICE 데이터 새로 고침 빈도를 높입니다.

3523 단어 aws

대본:



소스(Jira)에서 데이터를 가져와서 SPICE에 푸시하고 Quicksight 대시보드에서 렌더링하고 싶다고 가정해 보겠습니다.

요구 사항:
30분마다 한 번씩 데이터를 푸시합니다.

*Quicksight는 다음을 지원합니다. *
  • 전체 새로고침
  • 증분 새로 고침

  • 전체 새로 고침:
  • 프로세스 - 이전 데이터가 새 데이터로 대체됩니다.
  • 빈도 - 1시간마다 한 번
  • 새로 고침 횟수 - 24/일

  • 증분 새로 고침:
  • 프로세스 - 새 데이터가 데이터 집합에 추가됩니다.
  • 빈도 - 15분마다 한 번
  • 새로 고침 횟수 - 96/일

  • 문제:


  • 30분마다 한 번씩 데이터를 푸시해야 합니다.
  • FULL_REFRESH가 됩니다
  • .
  • 전체 새로 고침과 관련하여 Quicksight는 매시간 새로 고침만 지원합니다.

  • 해결책:



    AWS의 API 지원을 활용할 수 있습니다.
  • 패키지 - Python Boto 3
  • 클래스 - Quicksight.client
  • 메서드 - create_ingestion
  • 프로세스 - 새 SPICE 수집을 시작하여 데이터 세트를 수동으로 새로 고칠 수 있습니다.

  • 새로 고침 주기: 각 24시간 기간은 현재 날짜 및 시간 이전 24시간부터 측정됩니다.

  • 제한 사항:

  • Enterprise Edition은 24시간 동안 32회를 기록합니다.

  • 스탠다드 에디션은 24시간 동안 8회를 기록합니다.

  • 샘플 코드:

    Python - AWS용 Boto:

    import boto3
    client = boto3.client('quicksight')
    
    response = client.create_ingestion(
        DataSetId='string',
        IngestionId='string',
        AwsAccountId='string',
        IngestionType='INCREMENTAL_REFRESH'|'FULL_REFRESH'
    )
    


    awswrangler:

    import awswrangler as wr
    wr.quicksight.cancel_ingestion(ingestion_id="jira_data_sample_refresh", dataset_name="jira_db")
    
    


    CLI:

    aws quicksight create-ingestion --data-set-id dataSetId --ingestion-id jira_data_sample_ingestion --aws-account-id AwsAccountId --region us-east-1
    
    


    API:

    PUT /accounts/AwsAccountId/data-sets/DataSetId/ingestions/IngestionId HTTP/1.1
    Content-type: application/json
    
    {
       "IngestionType": "string"
    }
    


    결론:



    이 접근 방식을 사용하여 데이터 세트에 대해 56개의 전체 새로 고침을 달성할 수 있으며 한 단계 더 나아가 소스 도구(Jira)의 피크 시간을 파악하고 그에 따라 데이터 새로 고침을 구성할 수 있습니다. 이렇게 하면 한 번에 10분의 새로 고침 빈도를 달성할 수도 있습니다.

    참조:

  • Quicksight
  • Quicksight Gallery
  • SPICE
  • Boto - Python

  • Boto - Create Ingestion
  • AWS Wrangler
  • CLI
  • API
  • 좋은 웹페이지 즐겨찾기