我有自己的s3在本地运行,而不是aws s3。有没有办法覆盖 s3.amazonaws.com ?
我创建了hive-site.xml
并将其放在${HIVE_HOME}/conf/
中。
这就是我在.xml中得到的:
<configuration>
<property>
<name>fs.s3n.impl</name>
<value>org.apache.hadoop.fs.s3native.NativeS3FileSystem</value>
</property>
<property>
<name>fs.s3n.endpoint</name>
<value>local_s3_ip:port</value>
</property>
<property>
<name>fs.s3n.awsAccessKeyId</name>
<value>VALUE</value>
</property>
<property>
<name>fs.s3n.awsSecretAccessKey</name>
<value>VALUE</value>
</property>
现在,我想创建表,如果我输入:
LOCATION('s3n://hive/sample_data.csv')
我有一个错误:
org.apache.hadoop.hive.ql.exec.DDLTask。 java.net.UnknownHostException: hive.s3.amazonaws.com :名称解析暂时失败
对于s3和s3n均无效。
是否可以覆盖默认的 s3.amazonaws.com 并使用我自己的s3?
答案 0 :(得分:0)
期望花时间在身份验证选项上,因为签名始终是第三方商店中的麻烦。
答案 1 :(得分:0)
使用此配置,我可以到达自己的s3端点。
<configuration>
<property>
<name>fs.s3a.impl</name>
<value>org.apache.hadoop.fs.s3a.S3AFileSystem</value>
</property>
<property>
<name>fs.s3a.endpoint</name>
<value> <ip>:<port> </value>
</property>
<property>
<name>fs.s3a.path.style.access</name>
<value>true</value>
</property>
<property>
<name>fs.s3a.access.key</name>
<value> <ak> </value>
</property>
<property>
<name>fs.s3a.secret.key</name>
<value> <sk> </value>
</property>
<property>
<name>fs.s3a.awsAccessKeyId</name>
<value> <ak> </value>
</property>
<property>
<name>fs.s3a.awsSecretAccessKey</name>
<value> <sk> </value>
</property>
<property>
<name>fs.s3a.connection.ssl.enabled</name>
<value>false</value>
</property>