Perché non riesco a visualizzare i miei dati di fatturazione più recenti quando interrogo i miei rapporti di costi e utilizzo con Amazon Athena?

5 minuti di lettura
0

Non riesco a visualizzare i miei dati di fatturazione più recenti quando interrogo i miei rapporti di costi e utilizzo con Amazon Athena.

Risoluzione

Il motivo più comune di questo problema è la mancanza di partizioni nella tabella Report di costi e utilizzo. Per risolvere questo problema, scegli una o più delle seguenti soluzioni.

Assicurati di caricare le partizioni della tabella per la tabella dei rapporti di costo e utilizzo creata manualmente

Se hai creato manualmente la tabella dei report di costi e utilizzo, carica le partizioni della tabella eseguendo il comando MCSK REPAIR TABLE nella console Amazon Athena. In alternativa, puoi caricare le partizioni dalla console Amazon Athena.

Se hai configurato un crawler AWS Glue per aggiungere periodicamente partizioni alla tua tabella, assicurati che l'esecuzione del crawler sia pianificata prima di generare il rapporto. Altrimenti, potresti non visualizzare i dati di fatturazione più recenti nei risultati delle query.

Assicurati di controllare il percorso di Amazon Simple Storage Service (Amazon S3) e il crawler di AWS Glue

Puoi utilizzare un modello AWS CloudFormation per integrare i tuoi report di costi e utilizzo con Athena. Questo modello include un crawler AWS Glue, un database AWS Glue e un evento AWS Lambda. La funzione Lambda avvia un crawler di AWS Glue quando nuovi file dei rapporti di costo e utilizzo vengono inviati al percorso Amazon S3. Quindi, il crawler aggiunge automaticamente le partizioni alla tabella in base ai dati nei file dei rapporti sui costi e sull'utilizzo. Se non riesci a visualizzare i dati di fatturazione più recenti quando consulti la tabella, controlla il tuo percorso S3. Assicurati che i file dei rapporti sui costi e sull'utilizzo vengano consegnati. Inoltre, controlla il tuo crawler AWS Glue per assicurarti che non sia in ESECUZIONE o FALLITO.

Usa la proiezione delle partizioni per compilare automaticamente le partizioni

È possibile creare la tabella dei report di costi e utilizzo utilizzando la proiezione delle partizioni. Nella proiezione delle partizioni, i valori e le posizioni delle partizioni vengono calcolati dinamicamente anziché essere archiviati fisicamente nel catalogo dati di AWS Glue. Pertanto, non è necessario aggiungere manualmente le partizioni per visualizzare i dati più recenti. Puoi interrogare i file di report subito dopo che sono stati consegnati al tuo bucket Amazon S3.

Per creare una tabella dei report di costi e utilizzo utilizzando la proiezione delle partizioni, procedi come segue:

Nota: Assicurati di aver selezionato Athena per abilitare l'integrazione dei dati dei report per quando hai creato i report sui costi e sull'utilizzo. Selezionando Athena per l'integrazione con il report, i file del report vengono consegnati all'account di destinazione in formato parquet partizionato. Potrebbero essere necessarie fino a 24 ore prima che i file del report vengano recapitati ai file di destinazione. I percorsi dei file sono simili ai seguenti:

s3://example-report-prefix/example-report-name/example-report-name/year=2021/month=1
s3://example-report-prefix/example-report-name/example-report-name/year=2021/month=2
  1. Apri la console Amazon Athena.

  2. Nella scheda Editor di query, inserisci un comando simile al seguente:

CREATE EXTERNAL TABLE test_cur_partitionprojection(
  `identity_line_item_id` string,
  `identity_time_interval` string,
  `bill_invoice_id` string,
  `bill_billing_entity` string,
  `bill_bill_type` string,
  `bill_payer_account_id` string,
  `bill_billing_period_start_date` timestamp,
  `bill_billing_period_end_date` timestamp,
  `line_item_usage_account_id` string,
  `line_item_line_item_type` string,
  `line_item_usage_start_date` timestamp,
  `line_item_usage_end_date` timestamp,
  `line_item_product_code` string,
  `line_item_usage_type` string,
  `line_item_operation` string,
  `line_item_availability_zone` string,
  `line_item_usage_amount` double,
  `line_item_normalization_factor` double,
  `line_item_normalized_usage_amount` double,
  `line_item_currency_code` string,
  `line_item_unblended_rate` string,
  `line_item_unblended_cost` double,
  `line_item_blended_rate` string,
  `line_item_blended_cost` double,
  `line_item_line_item_description` string,
  `line_item_tax_type` string,
  `line_item_legal_entity` string,
  `product_product_name` string,
  `product_alarm_type` string,
  `product_availability` string,
  `product_bundle` string,
  `product_bundle_description` string,
  `product_bundle_group` string,
  `product_capacitystatus` string,
  `product_clock_speed` string,
  `product_component` string,
  `product_compute_type` string,
  `product_content_type` string,
  `product_cputype` string,
  `product_current_generation` string,
  `product_database_engine` string,
  `product_dedicated_ebs_throughput` string,
  `product_deployment_option` string,
  `product_description` string,
  `product_durability` string,
  `product_ecu` string,
  `product_edition` string,
  `product_engine_code` string,
  `product_enhanced_networking_supported` string,
  `product_event_type` string,
  `product_free_query_types` string,
  `product_free_trial` string,
  `product_from_location` string,
  `product_from_location_type` string,
  `product_gpu` string,
  `product_gpu_memory` string,
  `product_group` string,
  `product_group_description` string,
  `product_instance_family` string,
  `product_instance_name` string,
  `product_instance_type` string,
  `product_instance_type_family` string,
  `product_intel_avx2_available` string,
  `product_intel_avx_available` string,
  `product_intel_turbo_available` string,
  `product_license` string,
  `product_license_model` string,
  `product_location` string,
  `product_location_type` string,
  `product_logs_destination` string,
  `product_max_iops_burst_performance` string,
  `product_max_iopsvolume` string,
  `product_max_throughputvolume` string,
  `product_max_volume_size` string,
  `product_maximum_extended_storage` string,
  `product_maximum_storage_volume` string,
  `product_memory` string,
  `product_memorytype` string,
  `product_message_delivery_frequency` string,
  `product_message_delivery_order` string,
  `product_min_volume_size` string,
  `product_minimum_storage_volume` string,
  `product_network_performance` string,
  `product_normalization_size_factor` string,
  `product_operating_system` string,
  `product_operation` string,
  `product_origin` string,
  `product_physical_cpu` string,
  `product_physical_gpu` string,
  `product_physical_processor` string,
  `product_pre_installed_sw` string,
  `product_processor_architecture` string,
  `product_processor_features` string,
  `product_product_family` string,
  `product_queue_type` string,
  `product_recipient` string,
  `product_region` string,
  `product_resource_type` string,
  `product_rootvolume` string,
  `product_routing_target` string,
  `product_routing_type` string,
  `product_running_mode` string,
  `product_servicecode` string,
  `product_servicename` string,
  `product_sku` string,
  `product_software_included` string,
  `product_software_type` string,
  `product_standard_storage_retention_included` string,
  `product_storage` string,
  `product_storage_class` string,
  `product_storage_media` string,
  `product_storage_type` string,
  `product_subscription_type` string,
  `product_tenancy` string,
  `product_to_location` string,
  `product_to_location_type` string,
  `product_transfer_type` string,
  `product_usagetype` string,
  `product_uservolume` string,
  `product_vcpu` string,
  `product_version` string,
  `product_volume_api_name` string,
  `product_volume_type` string,
  `pricing_rate_id` string,
  `pricing_currency` string,
  `pricing_public_on_demand_cost` double,
  `pricing_public_on_demand_rate` string,
  `pricing_term` string,
  `pricing_unit` string,
  `reservation_amortized_upfront_cost_for_usage` double,
  `reservation_amortized_upfront_fee_for_billing_period` double,
  `reservation_effective_cost` double,
  `reservation_end_time` string,
  `reservation_modification_status` string,
  `reservation_normalized_units_per_reservation` string,
  `reservation_number_of_reservations` string,
  `reservation_recurring_fee_for_usage` double,
  `reservation_start_time` string,
  `reservation_subscription_id` string,
  `reservation_total_reserved_normalized_units` string,
  `reservation_total_reserved_units` string,
  `reservation_units_per_reservation` string,
  `reservation_unused_amortized_upfront_fee_for_billing_period` double,
  `reservation_unused_normalized_unit_quantity` double,
  `reservation_unused_quantity` double,
  `reservation_unused_recurring_fee` double,
  `reservation_upfront_value` double,
  `savings_plan_total_commitment_to_date` double,
  `savings_plan_savings_plan_a_r_n` string,
  `savings_plan_savings_plan_rate` double,
  `savings_plan_used_commitment` double,
  `savings_plan_savings_plan_effective_cost` double,
  `savings_plan_amortized_upfront_commitment_for_billing_period` double,
  `savings_plan_recurring_commitment_for_billing_period` double)
PARTITIONED BY (
  `year` int,
  `month` int)
ROW FORMAT SERDE
  'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
STORED AS INPUTFORMAT
  'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
  'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
  's3://example-report-prefix/example-report-name/example-report-name'
TBLPROPERTIES (
  'projection.enabled'='true',
  'projection.month.range'='1,12',
  'projection.month.type'='integer',
  'projection.year.range'='1900,2050',
  'projection.year.type'='integer',
  'storage.location.template'='s3://example-report-prefix/example-report-name/example-report-name/year=${year}/month=${month}')
  1. Scegli Salva come per salvare l'interrogazione.

  2. Scegli Esegui query per creare la tabella test_cur_partitionprojection.

È possibile interrogare la tabella immediatamente dopo la creazione della tabella. Per ulteriori informazioni, consulta Interrogazione di report su costi e utilizzo con Amazon Athena.


AWS UFFICIALE
AWS UFFICIALEAggiornata 3 anni fa