presto无法从s3读取数据

hmtdttj4  于 2021-06-27  发布在  Hive
关注(0)|答案(0)|浏览(498)

注意:这不是一个重复的不能读取数据在普雷斯托-可以在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数据

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题