28 Microsoft Azure Data Lakeへの接続

Microsoft Azure Data Lakeは、Hadoopクライアントを介したデータのストリーミングをサポートしています。このため、Oracle GoldenGate for Big DataのHadoop分散ファイル・システム(HDFS)ハンドラを使用するか、ファイル・ライター・ハンドラをHDFSイベント・ハンドラと組み合せて使用して、データ・ファイルをAzure Data Lakeに送信できます。

Microsoft Azure Data Lakeへの収集で推奨されるメカニズムは、HDFSイベント・ハンドラと組み合せたファイル・ライター・ハンドラです。

次のステップを使用して、Oracle GoldenGate for Big DataからMicrosoft Azure Data Lakeに接続します。

  1. http://hadoop.apache.org/releases.htmlからHadoop 2.9.1をダウンロードします。
  2. ファイルを一時ディレクトリで解凍します。たとえば、/ggwork/hadoop/hadoop-2.9です。
  3. ディレクトリの/ggwork/hadoop/hadoop-2.9/hadoop-env.shファイルを編集します。
  4. 環境変数JAVA_HOMEおよびHADOOP_CLASSPATHのエントリを追加します。
    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
    export HADOOP_CLASSPATH=/ggwork/hadoop/hadoop-2.9.1/share/hadoop/tools/lib/*:$HADOOP_CLASSPATH

    これはJava 8を指し、share/hadoop/tools/libがHadoopクラスパスに追加されます。デフォルトでは、ライブラリ・パスは変数にはなく、必要なAzureのライブラリはこのディレクトリにあります。

  5. /ggwork/hadoop/hadoop-2.9.1/etc/hadoop/core-site.xmlファイルを編集し、次を追加します。
    <configuration>
    <property>
    <name>fs.adl.oauth2.access.token.provider.type</name>
    <value>ClientCredential</value>
    </property>
    <property>
    <name>fs.adl.oauth2.refresh.url</name>
    <value>Insert the Azure https URL here to obtain the access token</value>
    </property>
    <property>
    <name>fs.adl.oauth2.client.id</name>
    <value>Insert the client id here</value>
    </property>
    <property>
    <name>fs.adl.oauth2.credential</name>
    <value>Insert the password here</value>
    </property>
    <property>
    <name>fs.defaultFS</name>
    <value>adl://Account Name.azuredatalakestore.net</value>
    </property>
    </configuration>
  6. ファイアウォールを開いて、トークンを取得するためのAzure URLとAzure Data Lake URLの両方に接続します。または、ネットワークまたはVPNから切断します。Azure Data Lakeへのアクセスでは、Apache Hadoopドキュメントごとのプロキシ・サーバーの使用は現在サポートされていません。
  7. Hadoopシェル・コマンドを使用して、Azure Data Lakeへの接続を証明します。たとえば、2.9.1 Hadoopインストール・ディレクトリで、次のコマンドを実行してルートHDFSディレクトリのリストを取得します。
    ./bin/hadoop fs -ls /
  8. Azure Data Lakeへの接続を確認します。
  9. HDFSイベント・ハンドラを使用してAzure Data Lakeにデータをプッシュするように、HDFSハンドラまたはファイル・ライター・ハンドラのいずれかを構成します。ファイル・ライター・ハンドラの使用を参照してください。ファイル・ライター・ハンドラをHDFSイベント・ハンドラとともに使用することをお薦めします。

    gg.classpathの設定の例を次に示します。

    gg.classpath=/ggwork/hadoop/hadoop-2.9.1/share/hadoop/common/:/ggwork/hadoop/hadoop-
    2.9.1/share/hadoop/common/lib/:/ggwork/hadoop/hadoop-
    2.9.1/share/hadoop/hdfs/:/ggwork/hadoop/hadoop-2.9.1/share/hadoop/hdfs/lib/:/ggwork/hadoop/hadoop-
    2.9.1/etc/hadoop:/ggwork/hadoop/hadoop-2.9.1/share/hadoop/tools/lib/*

https://hadoop.apache.org/docs/current/hadoop-azure-datalake/index.htmlを参照してください。