schema-on-read-in-hive for-tsv格式文件

hts6caw3  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(457)

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

fquxozlt

fquxozlt1#

可以使用色调:
http://gethue.com/hadoop-tutorial-create-hive-tables-with-headers-and/
或者使用spark可以推断csv文件的模式,并将其保存为配置单元表。

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

fquxozlt2#

配置单元要求您运行CREATETABLE语句,因为配置单元元存储必须更新为您稍后要查询的数据位置的描述。
读取模式并不意味着您可以在事先不知道元数据(如存储位置和存储格式)的情况下查询每个可能的文件。
另一方面,sparksql或apachedrill允许您从文件中推断模式,但如果您不希望所有内容都是字符串列(或强制为意外类型),则必须再次为tsv定义列类型。这两种工具都可以与配置单元元存储交互,以实现模式信息的“解耦”存储

相关问题