当前位置: 首页 > 知识库问答 >
问题:

创建配置单元分区表HDFS位置帮助

夏侯弘量
2023-03-14

当然,希望有人能帮助我创建外部配置单元分区表,方法是根据HDFS目录中的逗号分隔文件自动添加数据。我的理解(或缺乏理解)是,当您定义一个已分区的CREATE外部表并为其提供一个位置时,它应该递归地扫描/读取每个子目录,并将数据加载到新创建的已分区的外部表中。下面的内容应该会对我的烦恼提供一些更多的了解…

Sample HDFS directory structure:<br>
/data/output/dt=2014-01-01<br>
/data/output/dt=2014-01-02<br>
/data/output/dt=2014-01-03   ...<br>
/data/output/dt=2014-05-21<br>

每个'dt='子目录都包含分隔的文件

    CREATE EXTERNAL TABLE master_test (UID string,
    lname string,
    fname string,
    addr string,
    city string,
    state string,
    orderdate string,
    shipdate string)

    PARTITIONED BY (dt STRING)
    ROW FORMAT DELIMITED
    FIELDS TERMINATED BY ','
    STORED AS TEXTFILE
    LOCATION '/data/output/';

共有1个答案

束志业
2023-03-14

您可以使用MSCK修复自动发现分区。看一下文档:https://cwiki.apache.org/confluence/display/hive/languagemanual+ddl#languagemanualddl-recoverpartitions(MSCKREPAIRTABLE)

 类似资料:
  • 这是将Spark dataframe保存为Hive中的动态分区表的后续操作。我试图在答案中使用建议,但无法在Spark 1.6.1中使用 任何推动这一进程的帮助都是感激的。 编辑:还创建了SPARK-14927

  • 1-创建了源表 2-将数据从本地加载到源表 3-创建了另一个带有分区的表-partition_table 我不确定如何在外部表中进行分区。有人能帮我一步一步地描述一下吗?。

  • 您的回应将不胜感激。谢了!

  • 我有一个分区的Hive表。如果我想从这个表中创建一个spark数据帧,那么将创建多少个数据帧分区?

  • 添加/home/cloudera/date.jar到类路径添加资源:/home/cloudera/date.jar 请有人帮帮我,因为我是新来蜂巢的。有人能告诉我要遵循的步骤吗

  • 我需要一种从Scala数据框创建hive表的方法。hive表应该具有按日期分区的S3位置的ORC格式的基础文件。 以下是我目前得到的信息: 我以 ORC 格式将 scala 数据帧写入 S3 我可以在S3位置看到ORC文件。我现在在这些ORC文件的顶部创建了一个配置单元表: 但是配置单元表是空的,即 不打印任何结果。 但是,当我删除< code>PARTITIONED BY行时: 我看到了选择查询