Por que não consigo visualizar meus dados de cobrança mais recentes quando consulto meus relatórios de custos e uso usando o Amazon Athena?

5 minuto de leitura
0

Não consigo ver meus dados de cobrança mais recentes quando consulto meus relatórios de custo e uso com o Amazon Athena.

Resolução

O motivo mais comum desse problema é a falta de partições na tabela Relatórios de custo e uso. Para resolver esse problema, escolha uma ou mais das soluções a seguir.

Certifique-se de carregar partições de tabela para a tabela de Relatórios de custo e uso criada manualmente

Se você criou manualmente a tabela de Relatórios de custo e uso, carregue as partições da tabela executando o comando MCSK REPAIR TABLE no console do Amazon Athena. Ou você pode carregar as partições do console Amazon Athena.

Se você configurou um rastreador do AWS Glue para adicionar partições periodicamente à sua tabela, verifique se o rastreador está programado para ser executado antes de gerar o relatório. Caso contrário, talvez você não veja os dados de cobrança mais recentes nos resultados da consulta.

Verifique se o caminho do Amazon Simple Storage Service (Amazon S3) e o crawler AWS Glue

Você pode usar um modelo do AWS CloudFormation para integrar seus relatórios de custo e uso com o Athena. Esse modelo inclui um rastreador do AWS Glue, um banco de dados do AWS Glue e um evento do AWS Lambda. A função Lambda inicia um rastreador do AWS Glue quando novos arquivos de relatórios de custo e uso são entregues no caminho do Amazon S3. Em seguida, o rastreador adiciona automaticamente partições à tabela com base nos dados nos arquivos de relatórios de custo e uso. Se você não conseguir visualizar os dados de cobrança mais recentes ao consultar a tabela, verifique o caminho do S3. Verifique se os arquivos dos Relatórios de custo e uso sejam entregues. Além disso, verifique seu rastreador do AWS Glue para ter certeza de que ele não está no status RUNNING ou FAILED.

Use a projeção de partição para preencher as partições automaticamente

Você pode criar a tabela Relatórios de custo e uso usando a projeção de partição. Na projeção de partições, os valores e as localizações das partições são calculados dinamicamente em vez de serem armazenados fisicamente no catálogo de dados do AWS Glue. Portanto, você não precisa adicionar manualmente as partições para ver os dados mais recentes. Você pode consultar os arquivos do relatório imediatamente após serem entregues ao seu bucket do Amazon S3.

Para criar uma tabela de Relatórios de custo e uso usando a projeção de partição, faça o seguinte:

Observação: certifique-se de selecionar o Athena para Ativar a integração de dados do relatório ao criar os Relatórios de custo e uso. Ao selecionar o Athena para integração com o relatório, os arquivos do relatório são entregues à conta de destino no formato parquete particionado. Pode levar até 24 horas para que os arquivos do relatório sejam entregues aos arquivos de destino. Os caminhos dos arquivos são semelhantes aos seguintes:

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.    Abra o console do Amazon Athena.

2.    Na guia Editor de consultas, digite um comando semelhante ao seguinte:

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}')

3.    Escolha Salvar como para salvar a consulta.

4.    Escolha Executar consulta para criar a tabela test_cur_partitionprojection.

Você pode consultar a tabela imediatamente após a criação da tabela. Para obter mais informações, consulte Consultar relatórios de custo e uso usando o Amazon Athena.


AWS OFICIAL
AWS OFICIALAtualizada há 3 anos