我们如何使用 URL 将数据加载到配置单元中

Posted

技术标签:

【中文标题】我们如何使用 URL 将数据加载到配置单元中【英文标题】:How Can we load data into hive using URL 【发布时间】:2019-05-30 04:01:25 【问题描述】:

我在 hive 中创建了一个表,我需要将 csv 数据加载到 hive 表中, 但数据在 github 中(我已经下载并测试它工作正常)我需要直接从 URL 加载数据是否可以从 URL 将数据加载到配置单元中

这样的东西可以工作

LOAD DATA  INPATH 'https://github.com/xx/stock-prices.csv' INTO TABLE 
stocks;

【问题讨论】:

【参考方案1】:

可以使用以下命令将平面文件中的数据加载到 Hive 中。

来自Apache Hive Wiki:

LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]

LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)] [INPUTFORMAT 'inputformat' SERDE 'serde'] (3.0 or later)

如果指定了关键字 LOCAL,Hive 会在 本地文件系统 中查找文件路径并从那里加载。如果没有指定关键字 LOCAL,Hive 会在 HDFS 文件系统 中查找文件路径并在那里加载数据。

您可以为 HDFS 文件以及本地文件指定完整的 URI。

例子:

file:///user/data/project/datafolder (Local Path)

hdfs://namenode:10001/user/data/project/datafolder (HDFS path)

这意味着无法从 https 直接将数据加载到 hive 中。所以你必须先下载数据并加载到 hive 中。

这不是解决方案,而是正确答案。

【讨论】:

以上是关于我们如何使用 URL 将数据加载到配置单元中的主要内容,如果未能解决你的问题,请参考以下文章

如何在不删除源文件的情况下将数据从 HDFS 加载到配置单元?

如何在没有使用“ROW FORMAT DELIMITER”创建配置单元表的情况下将“|”分隔文件加载到配置单元中

将数据加载到表配置单元中

无法使用 pyspark 将数据加载到配置单元中

如何将按月分区的配置单元表中的数据加载到按周分区的配置单元表中

将数据从一个表加载到配置单元中的另一个表