我正在Cloudera上运行Hive和Hue。
我将以下文本文件上传到hdfs。我正在尝试在按ID分区的配置单元中创建一个外部表。无论出于什么原因,它都不起作用。
/user/test2/test.csv
id,name,age
1,sam,10
2,john,5
1,rick,4
hive :
CREATE EXTERNAL TABLE IF NOT EXISTS testDB (
name STRING,
age INT
)
COMMENT 'This is the test database'
PARTITIONED BY (id INT)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION '/user/test2/'
TBLPROPERTIES ("skip.header.line.count" = "1");
在 hive 编辑器Hue上,当我尝试查看样本数据时,它显示为
list index out of range
。不知道这是什么。如果删除分区依据,则外部表将正常工作。
最佳答案
您位于“/user/test2/test.csv”上的数据由三列构成,但是为表“testDB”定义的模式包含两列,通常会出现此错误。
您必须通过添加id列来更新脚本:
CREATE EXTERNAL TABLE IF NOT EXISTS testDB (
id INT,
name STRING,
age INT
)
...
关于hadoop - Hive PARTITIONED BY,列表索引超出范围错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32123009/