hadoop - Hive PARTITIONED BY,列表索引超出范围错误?

标签 hadoop hive hue

我正在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/

相关文章:

java - hive在哪里运行以及JVM的作用

json - Hive:json SerDe 文件在外部表中返回 "NULL"

python - 为 Apache Hadoop 安装 Hue 浏览器时,Setuptools pip 失败,错误代码为 1

读取 Hive 表中的 JSON 数据

hadoop - 无法从远程主机访问 Hue UI

hadoop - 如何在带有色相或腻子的hadoop中上传文件?

hadoop - 如何运行HBase程序

apache - Hbase ipc.RpcServer responseTooSlow 问题和区域服务器关闭

hadoop - hive :如何处理包含不固定数量字段的文件?

spring - Hadoop作业输入文件的位置