是否可以创建具有文本输出格式的配置单元 table?
Is it possible to create a hive table with text output format?
我的第一次尝试是:
CREATE TABLE t1 (
a string )
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE ;
但结果是:
CREATE TABLE t1 (
a string )
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS INPUTFORMAT
'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' ;
这似乎生成二进制文件而不是文本文件。
我向t1插入数据:
insert into t1 values ( "hello");
INFO : Loading data to t1
INFO : Table t1 stats: [numFiles=1, numRows=1, totalSize=14, rawDataSize=5]
No rows affected (86.403 seconds)
生成的 hdfs 文件是:
14 2017-10-18 17:20 t1/000000_0.deflate
并且内容是二进制的。我真正需要的是一个文本文件。
那么,是否有可能获得文本格式的 hdfs 输出格式?
顺便说一句,我正在使用 hortonworks 大数据分发。 HDP 2.5.0.
$ hdp-select | grep hive
hive-metastore - 2.5.0.0-1245
hive-server2 - 2.5.0.0-1245
hive-server2-hive2 - 2.5.0.0-1245
hive-webhcat - 2.5.0.0-1245
zlib/deflate
压缩格式 - 这是默认的数据压缩格式。这种压缩格式的文件扩展名为.deflate
。以下配置用于设置此格式:
SET hive.exec.compress.output=true;
SET mapred.output.compression.codec=org.apache.hadoop.io.compress.DefaultCodec;
要关闭压缩,请使用:
SET hive.exec.compress.output=false;
而不是指定 INPUTFORMAT
,OUTPUTFORMAT
你可以简单地写 STORED AS TEXTFILE
看到这个答案:
我的第一次尝试是:
CREATE TABLE t1 (
a string )
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE ;
但结果是:
CREATE TABLE t1 (
a string )
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS INPUTFORMAT
'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' ;
这似乎生成二进制文件而不是文本文件。
我向t1插入数据:
insert into t1 values ( "hello");
INFO : Loading data to t1
INFO : Table t1 stats: [numFiles=1, numRows=1, totalSize=14, rawDataSize=5]
No rows affected (86.403 seconds)
生成的 hdfs 文件是:
14 2017-10-18 17:20 t1/000000_0.deflate
并且内容是二进制的。我真正需要的是一个文本文件。
那么,是否有可能获得文本格式的 hdfs 输出格式?
顺便说一句,我正在使用 hortonworks 大数据分发。 HDP 2.5.0.
$ hdp-select | grep hive
hive-metastore - 2.5.0.0-1245
hive-server2 - 2.5.0.0-1245
hive-server2-hive2 - 2.5.0.0-1245
hive-webhcat - 2.5.0.0-1245
zlib/deflate
压缩格式 - 这是默认的数据压缩格式。这种压缩格式的文件扩展名为.deflate
。以下配置用于设置此格式:
SET hive.exec.compress.output=true;
SET mapred.output.compression.codec=org.apache.hadoop.io.compress.DefaultCodec;
要关闭压缩,请使用:
SET hive.exec.compress.output=false;
而不是指定 INPUTFORMAT
,OUTPUTFORMAT
你可以简单地写 STORED AS TEXTFILE
看到这个答案: