Hadoop上的两个独立表来自HDFS目录中的两个文件
我正在尝试从一个HDFS目录构建两个Hadoop表 因此,我想要文件Hadoop上的两个独立表来自HDFS目录中的两个文件,hadoop,hive,hdfs,Hadoop,Hive,Hdfs,我正在尝试从一个HDFS目录构建两个Hadoop表 因此,我想要文件1.tsv中的表file1,以及文件2.tsv中的另一个表file2。但两者都在一个HDFS目录中/tmp/ip # create hdfs directory hadoop fs -mkdir /tmp/ip # put my two tsv files hadoop fs -put /tmp/data/1.tsv tmp/ip/ hadoop fs -put /tmp/data/2.tsv tmp/ip/ 现在在Hive
1.tsv
中的表file1
,以及文件2.tsv
中的另一个表file2
。但两者都在一个HDFS目录中/tmp/ip
# create hdfs directory
hadoop fs -mkdir /tmp/ip
# put my two tsv files
hadoop fs -put /tmp/data/1.tsv tmp/ip/
hadoop fs -put /tmp/data/2.tsv tmp/ip/
现在在Hive的CLI中
--in Hive CLI to build table
CREATE EXTERNAL TABLE IF NOT EXISTS file1
(id STRING,Code STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE
-- failed solution because there's two files
LOCATION 'tmp/ip';
-- failed solution but don't understand why
LOAD DATA LOCAL INPATH 'tmp/ip/1.tsv' INTO TABLE file1
关于失败的解决方案: --解决方案失败,但不理解为什么将路径“tmp/ip/1.tsv”中的本地数据加载到表文件1中失败 由于关键字
LOCAL
,此操作失败。配置单元正在本地文件系统上查找文件。您可以尝试不使用此选项
LOAD DATA INPATH 'tmp/ip/1.tsv' INTO table file1`