考虑我在群集中的许多计算机上分发了某些数据。
如何使用Hive加载数据而不必担心它的位置?
由于
答案 0 :(得分:0)
详细说明如何从HDFS将数据加载到Hive中。
将文件加载到表格中
Hive在将数据加载到表中时不进行任何转换。加载操作当前是纯复制/移动操作,可将数据文件移动到与Hive表对应的位置。
<强>语法强>
LOAD DATA INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]
<强>概要强>
加载操作当前是纯复制/移动操作,可将数据文件移动到与Hive表对应的位置。
<强>ⅰ) - 强> 文件路径可以是:
<强>ⅱ) - 强> 加载的目标可以是表或分区。如果表已分区,则必须通过指定所有分区列的值来指定表的特定分区。
<强>ⅲ) - 强> filepath可以引用一个文件(在这种情况下Hive会将文件移动到表中)或者它可以是一个目录(在这种情况下,Hive会将该目录中的所有文件移动到表中)。在任何一种情况下,filepath都会解决一组文件。
<强> IV) - 强> 如果未指定关键字LOCAL,则Hive将使用文件路径的完整URI(如果指定了一个),或者将应用以下规则:
<强> V) - 强> 如果使用OVERWRITE关键字,则将删除目标表(或分区)的内容,并替换为filepath引用的文件;否则filepath引用的文件将被添加到表中。
请参阅以下链接的详细信息。
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML