Hive 使用相同的路径)。但是,我认为load语句不应该是必需的,因为该表是外部的,并且数据存在于hdfsk中。什么是KibTEst?Data.txt放在哪里??KibTEst是HDFS中放置我的文件(Data.txt)的文件夹的名称。感谢您的回答!我试着输入相同

Hive 使用相同的路径)。但是,我认为load语句不应该是必需的,因为该表是外部的,并且数据存在于hdfsk中。什么是KibTEst?Data.txt放在哪里??KibTEst是HDFS中放置我的文件(Data.txt)的文件夹的名称。感谢您的回答!我试着输入相同,hive,hdfs,Hive,Hdfs,使用相同的路径)。但是,我认为load语句不应该是必需的,因为该表是外部的,并且数据存在于hdfsk中。什么是KibTEst?Data.txt放在哪里??KibTEst是HDFS中放置我的文件(Data.txt)的文件夹的名称。感谢您的回答!我试着输入相同的命令,但我得到了以下错误(这是之前的几个选项之一,我总是得到相同的错误):ParseException行16:26输入不匹配',表行格式的字段分隔符中的'expecting StringLiteral near'BY'现在可以创建没有错误的表



使用相同的路径)。但是,我认为load语句不应该是必需的,因为该表是外部的,并且数据存在于hdfsk中。什么是KibTEst?Data.txt放在哪里??KibTEst是HDFS中放置我的文件(Data.txt)的文件夹的名称。感谢您的回答!我试着输入相同的命令,但我得到了以下错误(这是之前的几个选项之一,我总是得到相同的错误):ParseException行16:26输入不匹配',表行格式的字段分隔符中的'expecting StringLiteral near'BY'现在可以创建没有错误的表,但是当我通过运行SQL查询检查表内容时,
select*from Data
I没有得到任何输出(只有OK)。使用Load命令无效,但会出现以下错误:失败:SemanticException行1:17无效路径“”/KibTEst/Data.txt“”:没有与路径匹配的文件hdfs://MACHINE_NAME/KibTEst/Data.txt 我已尝试将路径更改为
hdfs:///KibTEst/Data.txt
但它给出了完全相同的错误(路径相同)。但是,我认为load语句不应该是必需的,因为该表是外部的,并且数据存在于hdfsk中。什么是KibTEst?Data.txt放在哪里??KibTEst是HDFS中放置我的文件(Data.txt)的文件夹的名称。非常感谢!您所说的外部表的hdfs位置是指hdfs中的位置(即
hdfs:///KibTEst/Data.txt
)?这个与
hdfs\u文件\u或\u目录\u路径
有什么区别?非常感谢!您所说的外部表的hdfs位置是指hdfs中的位置(即
hdfs:///KibTEst/Data.txt
)?此代码与
hdfs\u file\u或\u directory\u path
之间的区别是什么?您的文件在hdfs或table中??您的文件在hdfs或table中??使用此代码可以成功创建表,但当我运行SQL查询时,它不会返回任何输出(它只返回OK)。这看起来蜂巢中的桌子是空的。我通过运行返回表内容的
hadoop fs-cat/KibTest/Data.txt
再次检查了HDFS中的表内容。如果将位置更新为'/KibTest/Data.txt',则会得到结果,因为如果运行'hadoop fs-cat'hdfs:///KibTEst/Data.txt“你什么也得不到……结果也是一样。但是,从路径中删除文件名(使位置变为
/KibTest/
)可以完成任务,尽管目录中的所有文件都插入到表中!因此,我必须创建一个新目录,并只将此文件移动到其中。您知道有没有办法将输入限制为路径中的一个文件?要将目录中的单个文件限制为任何特定路径,您已经给出了文件名的位置,而不是目录名。是的,我理解,但正如前面的注释所述,当我在路径中包含文件名时,结果是一个空表,我可以在其中查看该目录中所有文件的数据(包括我需要的文件)使用此代码从路径中删除文件名时,可以成功创建表,但当我运行SQL查询时,它不会返回任何输出(它只返回OK)。这看起来蜂巢中的桌子是空的。我通过运行返回表内容的
hadoop fs-cat/KibTest/Data.txt
再次检查了HDFS中的表内容。如果将位置更新为'/KibTest/Data.txt',则会得到结果,因为如果运行'hadoop fs-cat'hdfs:///KibTEst/Data.txt“你什么也得不到……结果也是一样。但是,从路径中删除文件名(使位置变为
/KibTest/
)可以完成任务,尽管目录中的所有文件都插入到表中!因此,我必须创建一个新目录,并只将此文件移动到其中。您知道有没有办法将输入限制为路径中的一个文件?要将目录中的单个文件限制为任何特定路径,您已将位置指定为文件名,而不是目录名。是的,我理解,但正如前面的注释所述,当我将文件名包括在路径中时,结果是一个空表,当从路径中删除文件名时,我可以在其中查看该目录中所有文件的数据(包括我需要的文件)
create external table Data (
    dummy INT,
    account_number INT, 
    balance INT, 
    firstname STRING, 
    lastname STRING, 
    age INT, 
    gender CHAR(1), 
    address STRING, 
    employer STRING, 
    email STRING,
    city STRING, 
    state CHAR(2)
)
LOCATION 'hdfs:///KibTEst/Data.txt';
    create external table Data (
        dummy INT,
        account_number INT, 
        balance INT, 
        firstname STRING, 
        lastname STRING, 
        age INT, 
        gender CHAR(1), 
        address STRING, 
        employer STRING, 
        email STRING,
        city STRING, 
        state CHAR(2)
    )
    row format delimited    
    FIELDS TERMINATED BY ‘,’
    stored as textfile
    LOCATION 'Your hdfs location for external table';
LOAD DATA INPATH 'hdfs_file_or_directory_path' INTO TABLE tablename
create external table Data (
        dummy INT,
        account_number INT, 
        balance INT, 
        firstname STRING, 
        lastname STRING, 
        age INT, 
        gender CHAR(1), 
        address STRING, 
        employer STRING, 
        email STRING,
        city STRING, 
        state CHAR(2)
    )
    row format delimited    
    FIELDS TERMINATED BY ','
    stored as textfile
    LOCATION '/Data';
LOAD DATA INPATH '/KibTEst/Data.txt' INTO TABLE Data;
select * from Data;
create external table Data (
    dummy INT,
    account_number INT, 
    balance INT, 
    firstname STRING, 
    lastname STRING, 
    age INT, 
    gender CHAR(1), 
    address STRING, 
    employer STRING, 
    email STRING,
    city STRING, 
    state CHAR(2)
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n'
LOCATION 'hdfs:///KibTEst/Data.txt';