Hadoop 如何使用配置单元从集群读取数据?

Hadoop 如何使用配置单元从集群读取数据?,hadoop,hive,Hadoop,Hive,假设我有一个特定的数据分布在集群中的许多计算机上 如何使用Hive加载数据而不必担心它的位置 谢谢请参阅下面有关如何从HDFS将数据加载到配置单元的详细信息 将文件加载到表中 配置单元在将数据加载到表中时不进行任何转换。加载操作目前是纯复制/移动操作,将数据文件移动到配置单元表对应的位置 语法 概要 加载操作目前是纯复制/移动操作,将数据文件移动到配置单元表对应的位置 我- 文件路径可以是: 相对路径,如project/data1 绝对路径,如/user/hive/project/data1 带

假设我有一个特定的数据分布在集群中的许多计算机上

如何使用Hive加载数据而不必担心它的位置


谢谢

请参阅下面有关如何从HDFS将数据加载到配置单元的详细信息

将文件加载到表中

配置单元在将数据加载到表中时不进行任何转换。加载操作目前是纯复制/移动操作,将数据文件移动到配置单元表对应的位置

语法

概要

加载操作目前是纯复制/移动操作,将数据文件移动到配置单元表对应的位置

我- 文件路径可以是:

相对路径,如project/data1 绝对路径,如/user/hive/project/data1 带有scheme和权限(可选)的完整URI,如 hdfs://namenode:9000/user/hive/project/data1 二,- 加载到的目标可以是表或分区。如果表已分区,则必须通过为所有分区列指定值来指定表的特定分区

三,- filepath可以引用一个文件,在这种情况下,配置单元会将该文件移动到表中,也可以是一个目录,在这种情况下,配置单元会将该目录中的所有文件移动到表中。在这两种情况下,filepath都会寻址一组文件

四,- 如果未指定关键字LOCAL,则配置单元将使用filepath的完整URI(如果已指定),或者将应用以下规则:

如果未指定方案或权限,配置单元将使用该方案 以及hadoop配置变量fs.default.name中的权限 指定名称节点URI的。 如果路径不是绝对路径,则Hive将相对于 /使用者/ 配置单元将按文件路径寻址的文件移动到表或 隔断 五- 如果使用OVERWRITE关键字,则目标表或分区的内容将被删除并替换为filepath引用的文件;否则,filepath引用的文件将添加到表中

注意,如果目标表或分区已经有一个 名称与filepath中包含的任何文件名冲突,然后 现有文件将替换为新文件。 请参阅以下链接中的完整详细信息


如果您的意思是如何将数据从本地计算机加载到表中,请从配置单元外壳运行以下命令。将数据本地inpath'/path/on/local/filesystem/file.txt'加载到表\u name中;不,我不是说从本地机器加载数据@几天前,我在apache链接上读到了这篇文章,但这并不是我问题的答案。你能详细介绍一下你的需求吗?
LOAD DATA INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]