将 Hudi 格式的数据加载到使用 Athena 创建的表中

问题描述 投票:0回答:1

我使用 Spark 在 S3 中以 Hudi 格式创建了一个数据集。

我想使用 Athena 创建一个表,并将该数据集的所有分区加载到这个新表中。

虽然我创建了一个输入格式为 HUDI 的外部表

STORED AS INPUTFORMAT 
  'org.apache.hudi.hadoop.HoodieParquetInputFormat' 

但是不支持

MSCK REAPAIR
加载数据。

sql amazon-athena apache-hudi
1个回答
0
投票

您可以创建这样的表:

CREATE EXTERNAL TABLE `partition_mor`(
  `_hoodie_commit_time` string, 
  `_hoodie_commit_seqno` string, 
  `_hoodie_record_key` string, 
  `_hoodie_partition_path` string, 
  `_hoodie_file_name` string, 
  `event_id` string, 
  `event_time` string, 
  `event_name` string, 
  `event_guests` int)
PARTITIONED BY ( 
  `event_type` string)
ROW FORMAT SERDE 
  'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' 
STORED AS INPUTFORMAT 
  'org.apache.hudi.hadoop.HoodieParquetInputFormat' 
OUTPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
LOCATION
  's3://bucket/folder/partition_mor/'
ALTER TABLE partition_mor ADD
  PARTITION (event_type = 'one') LOCATION 's3://bucket/folder/partition_mor/one/'
  PARTITION (event_type = 'two') LOCATION 's3://bucket/folder/partition_mor/two/'

您可以找到更多详细信息: https://docs.aws.amazon.com/athena/latest/ug/querying-hudi.html

© www.soinside.com 2019 - 2024. All rights reserved.