Hadoop 互換ストレージ¶
オブジェクトストレージへのアクセスが必要になる可能性があるユースケースは多数存在します。以下に例を示します。
組み込み MPP を使用して Parquet 形式または Delta 形式 のデータにアクセスする
DF/JSON/XML/Excel のデータソースにアクセスする
データ一括読み込み 用にストレージを構成する
HDFS や S3 とは異なるオブジェクトストレージに Hadoop API との互換性がある場合は、以下を実行することでそのストレージにアクセスできます。
HDFS を選択します。
適切な Hadoop プロパティを指定します。
次のセクションでは、Azure ストレージアカウントにアクセスするための構成について説明します。
他のファイルシステムについては、Hadoop ドキュメントで「 Hadoop 互換ファイルシステム 」を参照してください。
HDFS パスを使用する DF/JSON/XML/Excel の各データソースの場合、認証セクションで [None] を選択します。
Azure ストレージ¶
警告
2024 年 11 月以降、新規および既存の Azure ストレージアカウント では TLS 1.0 と TLS 1.1 のサポートが廃止されます。また、Azure ストレージアカウントでの最近の TLS 1.3 のサポートにより、SSL/TLS を使用して Azure ストレージに接続する操作が失敗することがあります。その場合は、次の JVM パラメータ を記述して、Virtual DataPort が許可する TLS バージョンからバージョン 1.3 が除外されるように指定します。以下に例を示します。
-Dhttps.protocols="TLSv1,TLSv1.1,TLSv1.2" -Djdk.tls.client.protocols="TLSv1,TLSv1.1,TLSv1.2".
この問題の詳細については、公式の Azure ドキュメント を参照してください。
8.0u20230914 より古い Denodo 8 の更新プログラムでは、まず以下の追加手順に従ってください。
jar ファイル hadoop-azure.jar 、 jetty-util 、 jetty-util-ajax をダウンロードします。
以下の手順で、これらの jar ファイルをプラットフォームにインポートします。
[File] メニュー > [Extension Management] をクリックします。次に、[Libraries] タブで [Import] をクリックします。
リソースタイプとして jar を選択し、[Add] をクリックして jar ファイルを追加します。
Virtual DataPort を再起動します。
以下の手順では、Azure ストレージと選択した認証方法に応じてアクセスを構成する方法を説明しています。
Azure Data Lake Storage Gen 2 (共有キー認証を使用)
URI の構文:
abfs://<container>\@<account_name>.dfs.core.windows.net/<path>/<file_name>
。注釈
HDFS パスを使用する DF/JSON/XML/Excel の各データソースの場合、URI の「@」文字は、環境変数との混同を回避するために、上記の例に示すようにエスケープする必要があります。これは、 データ一括読み込み 用または Parquet 形式のオブジェクトストレージデータ 用の構成では 適用されません 。
以下の Hadoop プロパティを構成します。Hadoop のドキュメント で、使用可能な方法およびそれらを構成するためのプロパティを確認できます。ここでは、共有キーを使用する例を示します。
名前
値
fs.azure.account.key.<account_name>.dfs.core.windows.net
<アクセスキー>
fs.azure.always.use.ssl
false
注釈
SSL の使用は、
fs.azure.always.use.ssl
プロパティをtrue
に設定するか、またはabfss://<container>\@<account_name>.dfs.core.windows.net/<path>/<file_name>
(この代替案ではプロパティは削除されます) のようなルートからリソースにアクセスすることによって、トリガーできます。Azure Data Lake Storage Gen 2 (OAuth2 クライアント資格情報を使用)
URI の構文:
abfs://<container>\@<account_name>.dfs.core.windows.net/<path>/<file_name>
。注釈
HDFS パスを使用する DF/JSON/XML/Excel の各データソースの場合、URI の「@」文字は、環境変数との混同を回避するために、上記の例に示すようにエスケープする必要があります。これは、 データ一括読み込み 用または Parquet 形式のオブジェクトストレージデータ 用の構成では 適用されません 。
以下の Hadoop プロパティを構成します。Hadoop のドキュメント で、使用可能な方法およびそれらを構成するためのプロパティを確認できます。ここでは、共有キーを使用する例を示します。
名前
値
fs.azure.account.auth.type
OAuth
fs.azure.account.oauth.provider.type
org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider
fs.azure.account.oauth2.client.endpoint
https://login.microsoftonline.com/<directory (tenant) ID>/oauth2/token
fs.azure.account.oauth2.client.id
<アプリケーション (クライアント) ID>
fs.azure.account.oauth2.client.secret
<アプリケーション (クライアント) シークレット>
注釈
SSL の使用は、
abfss://<container>\@<account_name>.dfs.core.windows.net/<path>/<file_name>
のようなルートからリソースにアクセスすることによって、トリガーできます。Azure Blob ファイルシステム
URI の構文:
wasb://<container>\@<account_name>.blob.core.windows.net/<path>/<file_name>
。注釈
HDFS パスを使用する DF/JSON/XML/Excel の各データソースの場合、URI の「@」文字は、環境変数との混同を回避するために、上記の例に示すようにエスケープする必要があります。これは、 データ一括読み込み 用または Parquet 形式のオブジェクトストレージデータ 用の構成では 適用されません 。
以下の Hadoop プロパティを構成します。Hadoop のドキュメント で、使用可能な方法およびそれらを構成するためのプロパティを確認できます。ここでは、共有キーを使用する例を示します。
名前
値
fs.azure.account.key.<account_name>.blob.core.windows.net
<アクセスキー>
fs.azure.always.use.ssl
false
注釈
SSL の使用は、
fs.azure.always.use.ssl
プロパティをtrue
に設定するか、またはwasbs://<container>\@<account_name>.blob.core.windows.net/<path>/<file_name>
(この代替案ではプロパティは削除されます) のようなルートからリソースにアクセスすることによって、トリガーできます。