我正在尝试(未在s3上创建实木复合地板蜂巢表)。
create external table sequencefile_s3
(user_id bigint,
creation_dt string
)
stored as sequencefile location 's3a://bucket/sequencefile';
序列文件运行完美。
create external table parquet_s3
(user_id bigint,
creation_dt string)
stored as parquet location 's3a://bucket/parquet';
insert into parquet_s3
select * from hdfs_data;
实木复合地板不起作用。
这些文件是在S3存储桶/文件夹上创建的,select count(*)有效,但是parquet_s3 limit 10中的select *不起作用。
其他说明我正在AWS或EC2外部运行cloudera 5.8。 S3a的配置正确(我可以通过distcp和s3 sequencefile和textfile外部表完美复制文件)。
最佳答案
首先,您不清楚自己的问题...
问题是什么?
另外,错误日志非常重要,运行时会得到什么输出以及什么命令?
我现在只能说的是,Hive具有自己的SEQUENCEFILE读取器和SEQUENCEFILE写入器库,用于通过序列文件进行读写。
它使用来自以下程序包的SEQUENCEFILE输入和输出格式:
org.apache.hadoop.mapred.SequenceFileInputFormat
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
创建镶木表时,请使用下表属性语句,然后重试
tblproperties(“ parquet.compress” =“ SNAPPY”);