使用基于OSS创建的Hive外部表进行离线集成

在E-MapReduce5.xHadoop计算引擎下,若您需要将基于OSS创建的Hive外部表在Dataphin中进行离线集成操作。您需要先进行相关配置,才可以进行离线集成。本文将指导您如何进行配置。

配置说明

使用该功能需要您先在Hive数据源或者Hadoop计算源的core-site.xml配置文件中配置相关参数并上传。

  • 如果Dataphin和OSS在同一个地域region下,core-site.xml需要配置fs.oss.endpoint参数。

  • 如果Dataphin和OSS为跨地域region,除配置fs.oss.endpoint参数外,还需要额外增加配置accessKeyIdaccessKeySecret参数。

说明

内网地址无需配置accessKeyId与accessKeySecret。

配置示例

  • Dataphin和OSS在同一个地域region。

    <property>
    <name>fs.oss.endpoint</name>
    <value>oss-cn-hangzhou-internal.aliyuncs.com</value>
    </property>
  • Dataphin和OSS为跨地域region。

    <property>
    <name>fs.oss.endpoint</name>
    <value>oss-cn-hangzhou-internal.aliyuncs.com</value>
    </property>
    <property>
        <name>fs.oss.accessKeyId</name>
        <value>ak</value>
    </property>
    <property>
        <name>fs.oss.accessKeySecret</name>
        <value>ks</value>
    </property>
    说明
    • fs.oss.endpoint参数的<value>值,请根据您的地域环境进行配置。更多信息,请参见访问域名和数据中心

    • fs.oss.accessKeyIdfs.oss.accessKeySecret参数的<value>值,请填写账号的AccessKey(AK)信息。获取AK的方式,请参见创建AccessKey

常见问题

如果在使用离线集成过程中报错com.alibaba.dt.pipeline.plugin.center.exception.DataXException: Code:[HDFSConnection-06], Description:[与HDFS建立连接时出现IO异常.]. - java.io.IOException: No FileSystem for scheme: oss

您需要在core-site.xml配置文件中添加以下配置:

<property>
    <name>fs.oss.impl</name>
    <value>com.aliyun.jindodata.oss.JindoOssFileSystem</value>
</property>
    <property>
    <name>fs.AbstractFileSystem.oss.impl</name>
    <value>com.aliyun.jindodata.oss.OSS</value>
</property>
<property>
    <name>fs.jindofsx.data.cache.enable</name>
    <value>false</value>
</property>
<property>
    <name>fs.jindofsx.namespace.rpc.address</name>
    <value>emr-cluster:8101</value>
</property>
重要

fs.jindofsx.namespace.rpc.address参数的<value>值配置,请根据您的集群配置自行配置,如无法确认您可以咨询EMR产品的相关支持人员。

如果在使用离线集成过程中报错Description:[与HDFS建立连接时出现IO异常.]. - java.io.IOException: ERROR: not found login secrets, please configure the accessKeyId and accessKeySecret

您需要在core-site.xml配置文件中添加以下配置:

<property>
    <name>fs.jindofsx.namespace.rpc.address</name>
    <value>emr-cluster:8101</value>
</property>