我可以在Hive中为表格分配TextInputformat和BinaryOutputFormat吗?

时间:2019-03-07 03:31:10

标签: hadoop hive

在“ Programming Hive”的第15章中,有一个如下示例。

CREATE TABLE binary_table (num1 INT, num2 INT)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
WITH SERDEPROPERTIES ('serialization.last.column.takes.rest'='true')
STORED AS
INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveBinaryOutputFormat';

当我对此表执行一些SELECT时,Hive将使用TextInputFormat从hdfs中读取记录。但是当我执行一些INSERT或UPDATE时,Hive将使用BinaryOutputFormat将行写入hdfs。

这很奇怪。在某些INSERT或UPDATE之后执行SELECT查询时会发生什么情况。

还有一个关于以下SQL的问题。

LOAD DATA LOCAL INPATH '${env:HOME}/california-employees'
OVERWRITE INTO TABLE employees
PARTITION (country = 'US', state = 'CA');

蜂巢会选择哪种输入格式来读取源文件?

0 个答案:

没有答案