Saltar al contenido

¿Por qué no puedo ver mis datos de facturación más recientes cuando consulto mis informes de uso y costo con Amazon Athena?

5 minutos de lectura
0

No puedo ver mis datos de facturación más recientes cuando consulto mis informes de uso y costo con Amazon Athena.

Resolución

El motivo más común de este problema es que faltan particiones en la tabla de los Informes de uso y costo. Para solucionar este problema, elija una o varias de las siguientes soluciones.

Carga de las particiones para la tabla Informes de uso y costo creada manualmente

Si creó manualmente la tabla Informes de uso y costo, ejecute el comando MSCK REPAIR TABLE en la consola de Amazon Athena. Este comando carga las particiones de la tabla. Como alternativa, cargue las particiones desde la consola de Amazon Athena.

Si configura un rastreador de AWS Glue para agregar particiones periódicamente a la tabla, confirme que el rastreador esté programado para ejecutarse. De lo contrario, cuando genere el informe, es posible que no obtenga los datos de facturación más recientes.

Comprobación de la ruta de Amazon Simple Storage Service (Amazon S3) y el rastreador de AWS Glue

Puede utilizar una plantilla de AWS CloudFormation para integrar sus informes de uso y costo con Athena. Esta plantilla incluye un rastreador de AWS Glue, una base de datos de AWS Glue y un evento de AWS Lambda. La función de Lambda inicia un rastreador de AWS Glue cuando se entregan nuevos archivos de los Informes de uso y costo a la ruta de Amazon S3. A continuación, el rastreador añade automáticamente particiones a la tabla en función de los datos de los archivos de los Informes de uso y costo.

Si no puede ver los datos de facturación más recientes al consultar la tabla, compruebe su ruta de S3. Asegúrese de que se entreguen los archivos de los Informes de uso y costo. Además, asegúrese de que el estado de su rastreador de AWS Glue no sea EN EJECUCIÓN o ERROR.

Utilización de la proyección de particiones para rellenar las particiones automáticamente

Puede crear la tabla Informes de uso y costo de modo que utilice la proyección de particiones. En la proyección de particiones, los valores y las ubicaciones de las particiones se calculan de forma dinámica en lugar de almacenarse físicamente en el Catálogo de datos de AWS Glue. Por lo tanto, no es necesario añadir manualmente las particiones para ver los datos más recientes. Puede consultar los archivos de los informes en cuanto se entregan a su bucket de Amazon S3.

Nota: Asegúrese de seleccionar Athena en Habilitar la integración de datos de informe para cuando cree informes de uso y costo. A continuación, los archivos de los informes se entregan a la cuenta de destino en formato Parquet con particiones. Los archivos de los informes pueden tardar hasta 24 horas en entregarse a los archivos de destino. Las rutas de los archivos son más o menos así:

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

Para crear una tabla Informes de uso y costo de modo que utilice la proyección de particiones, siga estos pasos:

  1. Abra la consola de Amazon Athena.

  2. En la pestaña Editor de consultas, introduzca un comando como el siguiente:

    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. Seleccione Guardar como.

  4. Elija Ejecutar consulta para crear la tabla test_cur_partitionprojection.

Puede consultar la tabla inmediatamente después de crearla. Para obtener más información, consulte Querying Cost and Usage Reports using Amazon Athena.

OFICIAL DE AWSActualizada hace 2 años