【问题标题】:Schema on read in hive for tsv format file在 hive 中读取 tsv 格式文件的架构
【发布时间】:2018-08-02 20:06:13
【问题描述】:

我是 hadoop 新手。我有 50 列的 tsv 格式的数据,我需要将数据存储到配置单元中。如何在不使用读取时使用模式创建表语句手动创建表的情况下动态创建数据并将数据加载到表中?

【问题讨论】:

    标签: hadoop hive hive-table


    【解决方案1】:

    Hive 要求您运行 CREATE TABLE 语句,因为必须使用您稍后要查询的数据位置的描述来更新 Hive 元存储。

    Schema-on-read 并不意味着您可以在事先不知道存储位置和存储格式等元数据的情况下查询每个可能的文件。

    另一方面,SparkSQL 或 Apache Drill 将允许您从文件中推断架构,但如果您不希望所有内容都是字符串列(或强制为意外的类型)。这两个工具都可以与 Hive 元存储交互,以“解耦”存储模式信息

    【讨论】:

      【解决方案2】:

      你可以使用色调:

      http://gethue.com/hadoop-tutorial-create-hive-tables-with-headers-and/

      或者使用 Spark,您可以推断 csv 文件的架构并将其保存为 hive 表。

      val df=spark.read
        .option("delimiter", "\t")
        .option("header",true)
        .option("inferSchema", "true") // <-- HERE
        .csv("/home/cloudera/Book1.csv")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-07
        • 2013-06-17
        • 2021-05-31
        • 1970-01-01
        • 2021-12-14
        • 2021-06-02
        相关资源
        最近更新 更多