当数据存储在AWS S3中时如何创建配置单元表并添加分区

时间:2019-01-09 01:33:15

标签: amazon-s3 hive

我将我的实木复合地板数据存储在AWS S3中,并希望使用配置单元表进行访问。尝试创建它有点从表中没有结果。

AWS S3中的数据存储为s3://bucket/some_key/year=2018/month=12/day=10,依此类推,并带有相应的日期文件夹。

我正在按如下方式创建配置单元表:

CREATE EXTERNAL TABLE `ais_daily_data` (
         `A` BIGINT,
         `B` STRING,
         `C` STRING,
         `D` STRING

) PARTITIONED BY (
        year STRING, month STRING, day STRING
) 
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://bucket/some_key' TBLPROPERTIES ( 'parquet.compress'='SNAPPY', 'CrawlerSchemaDeserializerVersion'='1.0', 'CrawlerSchemaSerializerVersion'='1.0', 'classification'='parquet')

然后我将ADD分区明确指定为

ALTER TABLE hive_table
ADD PARTITION (year='2018', month='10', day='10')
location 's3://bucket/some_key/year=2018/month=10/day=10'

运行select * from hive_table时得到NULL行,但是select count(*) from hive_table给出非零值。

在这里,我们将不胜感激任何帮助。

0 个答案:

没有答案