注意:这不是一个重复的不能读取数据在普雷斯托-可以在Hive
为了让我 PySpark
应用程序(使用 boto3
)为了工作,我不得不跟了很多次
重新安装 pip
重新安装 aws-sdk
( boto3
, botocore
, aws-cli
)
虽然我设法使我的申请工作,我结束了中断之间的沟通 Presto
以及 S3
,这样presto就不能再从 Hive EXTERNAL table
存储在s3上(同时 Hive
罐头)
运行一个简单的查询 SELECT COUNT(*) FROM my_db.my_table
在普雷斯托 /var/log/presto/server.log
stacktrace后的文件报告
2018-12-04T12:29:54.433+0530 WARN hive-hive-63 com.facebook.presto.hive.util.ResumableTasks ResumableTask completed exceptionally
java.lang.NoClassDefFoundError: Could not initialize class com.amazon.ws.emr.hadoop.fs.util.EmrFsUtils
at com.amazon.ws.emr.hadoop.fs.s3n.S3Credentials.initialize(S3Credentials.java:45)
at com.amazon.ws.emr.hadoop.fs.HadoopConfigurationAWSCredentialsProvider.<init>(HadoopConfigurationAWSCredentialsProvider.java:26)
at com.amazon.ws.emr.hadoop.fs.guice.DefaultAWSCredentialsProviderFactory.getAwsCredentialsProviderChain(DefaultAWSCredentialsProviderFactory.java:44)
at com.amazon.ws.emr.hadoop.fs.guice.DefaultAWSCredentialsProviderFactory.getAwsCredentialsProvider(DefaultAWSCredentialsProviderFactory.java:28)
at com.amazon.ws.emr.hadoop.fs.guice.EmrFSProdModule.getAwsCredentialsProvider(EmrFSProdModule.java:65)
...
请参见此处的完整堆栈跟踪
我想澄清一下
只有普雷斯托似乎受到了影响; Hive
, aws-cli
, Spark
等都能照常读取数据
我的 EC2
示例具有附加的 IAM Role
它允许从我的帐户中的所有s3存储桶读取数据(并写入某些特定的存储桶)
早前普雷斯托在阅读s3时没有抱怨,问题只是在摆弄环境之后才出现的
如果我将配置单元外部表的位置设置为 HDFS
我已经通过一些相关的链接,但没有结果
无法读取配置单元中的presto-can中的数据
presto对amazon emr的思考
授权访问amazons3中的emrfs数据
暂无答案!
目前还没有任何答案,快来回答吧!