gpt4 book ai didi

hadoop - Hive 外部表不显示任何内容

转载 作者:可可西里 更新时间:2023-11-01 16:56:05 25 4
gpt4 key购买 nike

我正在尝试通过以下链接中的 Twitter 数据教程来学习 Hive。 https://github.com/cloudera/cdh-twitter-example/

我已经成功安装和配置了 hadoop 和 hive,并测试了将简单的文本文件加载到 hive 表中。到目前为止一切正常。

然而,即使认为文件存在于 hdfs 中,外部表也没有显示任何内容。

我使用下面的代码来创建表格。

CREATE EXTERNAL TABLE (
...
Columns ....
...
)
PARTITIONED BY (datehour INT)
ROW FORMAT SERDE 'com.cloudera.hive.serde.JSONSerDe'
LOCATION '/user/flume/tweets';

我认为问题出在我的 hdfs 中的文件夹结构 ..它目前遵循年/月/日/小时/,如下所示。

/user
-- /flume
-- /tweets
-- /2015
-- 04
-- 01
-- 13
-- 14
-- 02
-- 15
-- 16

在 Hive 中创建外部表时,有没有办法为这个文件夹结构正确设置分区?

预先感谢您的帮助...

最佳答案

您必须将分区添加到表中。

  ADD JAR   your-serde-jar-file-path.jar


ALTER TABLE tweets ADD IF NOT EXISTS PARTITION (datehour = 2015040113) LOCATION '/user/flume/tweets/2015/04/01/13';

-您必须通过 oozie 代码文件传递 datehour 和 partionpath。

 ADD JAR ${JSON_SERDE};

ALTER TABLE tweets ADD IF NOT EXISTS PARTITION (datehour ${DATEHOUR}) LOCATION '${PARTITION_PATH}';

请引用 http://blog.cloudera.com/blog/2013/01/how-to-schedule-recurring-hadoop-jobs-with-apache-oozie/

关于hadoop - Hive 外部表不显示任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29888241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com