在S3和Hive本地创建Iceberg表

e0bqpujr  于 4个月前  发布在  Hive
关注(0)|答案(1)|浏览(68)

我已经在我的K8S集群上安装了Hive Metastore。我配置了它的hive-site.xml:

<configuration>
    <property>
        <name>fs.s3.impl</name>
        <value>org.apache.hadoop.fs.s3.S3FileSystem</value>
    </property>
    <property>
        <name>fs.s3.endpoint</name>
        <value> ip:port </value>
    </property>
    <property>
        <name>fs.s3.path.style.access</name>
        <value>true</value>
    </property>
   <property>
      <name>fs.s3.access.key</name>
      <value> {accessKey} </value>
   </property>
   <property>
      <name>fs.s3.secret.key</name>
      <value> {secret} </value>
   </property>
    <property>
        <name>fs.s3.awsAccessKeyId</name>
        <value> {accessKey} </value>
    </property>
    <property>
        <name>fs.s3.awsSecretAccessKey</name>
        <value> {secret} </value>
    </property>
    <property>
        <name>fs.s3.connection.ssl.enabled</name>
        <value>false</value>
    </property>
    <property>
        <name>fs.s3.path.style.access</name>
        <value>true</value>
    </property>

字符串
我使用的是S3内部部署。当尝试通过特里诺创建一个表时,如下所示:

create table if not exists lakehouse.test_schema.test_table(
col1 varchar
) with (
 location = 's3://hivetest/test_table)


我得到以下错误:
Got exception:java.net.UnknownHostException hivetest.s3.amazonaws.com:名称或服务未知
Iceberg的元数据文件(.avro和.json)文件是在S3位置创建的。但由于某些原因,Hive无法创建该表。

vdgimpew

vdgimpew1#

我使用的是hadoop-aws-2.7.4.jar,它不支持fs.s3.path.style.access
hadoop-aws.jar从版本2.8.0开始支持fs.s3.path.style.access
将我的hive元存储区升级到包含hadoop.version >= 2.8.0的较新版本
可以在这里找到:https://github.com/apache/hive/blob/master/pom.xml
在不同版本中搜索hadoop.version

相关问题