gpt4 book ai didi

hadoop - 如何使用Hive从集群读取?

转载 作者:行者123 更新时间:2023-12-02 21:46:03 24 4
gpt4 key购买 nike

考虑一下,我在集群中的许多计算机上都有一定的数据分布。

如何使用Hive加载数据而无需担心其位置?

谢谢

最佳答案

请参阅下面的详细信息,如何从HDFS将数据加载到Hive。

将文件加载到表

Hive在将数据加载到表中时不会进行任何转换。加载操作当前是纯复制/移动操作,可将数据文件移动到与Hive表相对应的位置。

语法

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

简介

加载操作当前是纯复制/移动操作,可将数据文件移动到与Hive表相对应的位置。

i)-
文件路径可以是:
  • 相对路径,例如project / data1
  • 绝对路径,例如/ user / hive / project / data1
  • 具有方案和(可选)权限的完整URI,例如
    hdfs:// namenode:9000 / user / hive / project / data1

  • ii)-
    加载到的目标可以是表或分区。如果表已分区,则必须通过为所有分区列指定值来指定表的特定分区。

    iii)-
    filepath可以引用文件(在这种情况下,Hive会将文件移至表中),也可以是目录(在这种情况下,Hive会将目录中的所有文件移至表中)。无论哪种情况,文件路径都会寻址一组文件。

    iv)-
    如果未指定关键字LOCAL,则Hive将使用文件路径的完整URI(如果已指定),或将应用以下规则:
  • 如果未指定方案或权限,则Hive将使用该方案
    和权限来自hadoop配置变量fs.default.name
    指定Namenode URI。
  • 如果该路径不是绝对路径,则Hive将相对于
    / user /
  • Hive将通过文件路径寻址的文件移动到表中(或
    分区)

  • v)-
    如果使用OVERWRITE关键字,则目标表(或分区)的内容将被删除,并被filepath引用的文件替换;否则,filepath引用的文件将被添加到表中。
  • 请注意,如果目标表(或分区)已经有一个文件,
    名称与文件路径中包含的任何文件名冲突,然后
    现有文件将被新文件替换。

  • 从以下链接中查看完整的细节。

    https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML

    关于hadoop - 如何使用Hive从集群读取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25267630/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com