Hive-Standalone-metastore = v3.1.3
Hadoop jars = v3.3.4
我已经设置了Hive MetaStore,最终目标是将它与TRINO连接起来,这样我就可以在S3中查询我的Parquet文件了。我现在在trino
CLI中,可以看到我的e1d1e…现在想创建一个简单的表,这样我可以查询。。。但出现了一个异常
trino:<MY_SCHEMA>> CREATE TABLE IF NOT EXISTS hive.<MY_SCHEMA>.<MY_TABLE> (
-> column_one VARCHAR,
-> column_two VARCHAR,
-> column_three VARCHAR,
-> column_four DOUBLE,
-> column_five VARCHAR,
-> column_six VARCHAR,
-> query_start_time TIMESTAMP)
-> WITH (
-> external_location = 's3a://<MY_S3_BUCKET_NAME>/dir_one/dir_two',
-> format = 'PARQUET'
-> );
CREATE TABLE
Query 20220924_181001_00019_bvs42 failed: Got exception: java.io.FileNotFoundException PUT 0-byte object on dir_one/dir_two: com.amazonaws.services.s3.model.AmazonS3Exception: Not Found (Service: Amazon S3; Status Code: 404; Error Code: 404 Not Found; Request ID: IDNUM123; S3 Extended Request ID: soMeLongID123=; Proxy: null), S3 Extended Request ID: soMeLongID123:404 Not Found
我确实手动测试了我的AWS凭据。我确实可以连接到bucket并读取bucket。我的bucket中包含parquet
类型的文件。。。
我应该检查什么……我可能做错了什么?谢谢
编辑:添加我的hive.properties
connector.name=hive-hadoop2
hive.metastore.uri=thrift://$HIVE_IP_ADDR:9083
hive.s3.path-style-access=true
hive.s3.endpoint=$AWS_S3_ENDPOINT
hive.s3.aws-access-key=$AWS_ACCESS_ID
hive.s3.aws-secret-key=$AWS_SECRET
hive.s3.ssl.enabled=false
1条答案
按热度按时间omvjsjqw1#
我最终完全删除了端点条目,它开始生效。。
教训是…如果你正在学习S3集成教程…大多数人都不使用S3,但有些替代品如MinIO…如果你使用的是真正的S3,那么你根本就不用
s3_endpoint
。。改为执行此操作