gpt4 book ai didi

hadoop - S3 文件夹中的零长度文件可能会阻止使用 Hive 访问该文件夹?

转载 作者:行者123 更新时间:2023-12-02 21:40:56 27 4
gpt4 key购买 nike

我无法使用 Hive 访问 AWS S3 上的文件夹,大概是该目录中的零长度文件是原因。 AWS 管理控制台的文件夹是一个零字节对象,其键以斜杠结尾,即“folder_name/”。我认为 Hive 或 Hadoop 在如何定义 S3 上的文件夹方案方面可能存在错误。

这是我所做的。

    CREATE EXTERNAL TABLE is_data_original (user_id STRING, action_name STRING, timestamp STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'  STORED AS TEXTFILE LOCATION 's3n://bucketname/logs/';

SELECT * FROM is_data_original LIMIT 10;

失败并出现异常 java.io.IOException:java.lang.NullPointerException
username@client:~$ hadoop fs -ls s3n://bucketname/logs/
Found 4 items
-rwxrwxrwx 1 0 2015-01-22 20:30 /logs/data
-rwxrwxrwx 1 8947 2015-02-27 18:57 /logs/data_2015-02-13.csv
-rwxrwxrwx 1 7912 2015-02-27 18:57 /logs/data_2015-02-14.csv
-rwxrwxrwx 1 16786 2015-02-27 18:57 /logs/data_2015-02-15.csv

hadoop fs -mkdir s3n://bucketname/copylogs/
hadoop fs -cp s3n://bucketname/logs/*.csv s3n://bucketname/copylogs/

username@client:~$ hadoop fs -ls s3n://bucketname/copylogs/
Found 3 items
-rwxrwxrwx 1 8947 2015-02-28 05:09 /copylogs/data_2015-02-13.csv
-rwxrwxrwx 1 7912 2015-02-28 05:09 /copylogs/data_2015-02-14.csv
-rwxrwxrwx 1 16786 2015-02-28 05:09 /copylogs/data_2015-02-15.csv

CREATE EXTERNAL TABLE is_data_copy (user_id STRING, action_name STRING, timestamp STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' STORED AS TEXTFILE LOCATION 's3n://bucketname/copylogs/';

SELECT * FROM is_data_copy LIMIT 10;

后者在复制后工作正常。

以下两个命令都有效:
hadoop fs -cat s3n://bucketname/logs/data_2015-02-15.csv
hadoop fs -cat s3n://bucketname/copylogs/data_2015-02-15.csv

版本: hive 0.11.0 Hadoop 1.0.3。

这是某种错误吗?它与AWS S3有关吗?有任何想法吗?我需要能够读取原始位置,因为这是数据不断流动的地方。

我无法控制创建目录并将日志文件放入其中的进程,因此我无法检查任何内容。

我进行了一个实验:在 S3 上创建了一个 key /文件夹,并以两种不同的方式将文件放入其中:使用 AWS 管理控制台和使用 hadoop fs。
我可以在文件夹中看到一个零字节文件,以防我使用 AWS 控制台并且我得到一个使用 Hive 评估它的空指针异常。使用 hadoop fs 我没有这样的问题。我假设应该删除该零字节文件,但在 AWS 控制台的情况下不是这样。我敢肯定,就我而言,s3 文件夹不是从 AWS 控制台创建的,而是可能是 Ruby 或 Javascript。

最佳答案

看起来像一个 Hive 错误。 Hive 0.12.0 没有这个问题。

关于hadoop - S3 文件夹中的零长度文件可能会阻止使用 Hive 访问该文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28784984/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com