Hive 外部 table 未显示任何内容

Hive External table not showing anything

我正在尝试按照下面 link 中的 Twitter 数据教程来学习 Hive。 https://github.com/cloudera/cdh-twitter-example/

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

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

我使用下面的代码创建了 tables。

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

我认为问题出在我的 hdfs 中的文件夹结构 .. 它目前在 year/month/day/hour/ 之后,如下所示。

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

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

在此先感谢您的帮助...

您必须将分区添加到 table。

  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/