首页 文章

Hive无法加载数据 - cloudera快速启动VM 5.8

提问于
浏览
0

我正在使用cloudera quickstart VM 5.8作为hadoop环境 . 我试着做以下事情 .

  • 使用hdfs absolute uri创建了一个配置单元表

创建外部表如果不存在stocks_tb(exch STRING,符号STRING,ymd STRING,price_open FLOAT,price_high FLOAT,price_low FLOAT,price_close FLOAT,交易量INT,price_adj_close FLOAT)行格式删除字段终止于','LOCATION'hdfs:/ /quickstart.cloudera:8020/hadoop/hive/stocks';

{我尝试使用相对路径,但是hive CLI抱怨我使用相对路径,其中需要绝对路径}

  • 将数据集库从本地文件系统加载到HDFS中的输入/库存 .

  • 试图将数据集加载到表中

LOAD DATA INPATH'hdfs://quickstart.cloudera:8020 / input / stocks'INTO TABLE stocks_tb;

我收到了错误

Invalid path ''hdfs://quickstart.cloudera:8020/input/stocks'': 
No files matching path hdfs://quickstart.cloudera:8020/input/stocks

我不知道为什么我会收到这个错误 . 数据存在于输入/股票/股票中,但发生错误 .

你能发现错误/关于错误的任何想法吗?

当我这样做的时候

hadoop fs -ls hdfs://quickstart.cloudera:8020 /输入/股票

我无法看到任何文件,但是当我这样做时

hadoop fs -ls输入/股票

我看到了股票档案

我不知道如何解释这个 . 你能帮忙吗?

谢谢

2 回答

  • 0

    您的用户可能无权在HDFS中读/写/输入/库存 .

    您正在运行该程序的用户是哪个?您可以尝试使用hdfs超级用户帐户 .

    什么是/输入/股票的所有权?

    运行以下命令以检查所有权

    hadoop fs -ls /
    hadoop fs -ls /input
    

    您可以运行以下命令来设置所有权/权限;

    hadoop fs -chown user:group /input
    
  • 0

    正如我所怀疑的那样 .

    数据实际上在user / cloudera / input / stocks中,我在load命令中指的是/ input / stocks .

    正确的加载命令是

    LOAD DATA INPATH'hdfs://quickstart.cloudera:8020 / user / cloudera / input / stocks'INTO TABLE stocks_tb;

相关问题