ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →Azure Data Lake Storage Driver の30日間無償トライアルをダウンロード
30日間の無償トライアルへ製品の詳細
Azure Data Lake Storage JDBC Driver 相談したいAzure Data Lake Storage データに連携するJava アプリケーションを素早く、簡単に開発できる便利なドライバー。
CData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
CData JDBC Driver for ADLS は、Java Web アプリケーションに簡単に統合して利用することができます。本記事では、Jetty でドライバーをコネクションプールとして設定することで、効率的にAzure Data Lake Storage データをアプリケーションで連携利用する方法を説明します。Jetty でJNDI resource for ADLS を設定します。
次の手順で、Jetty とAzure Data Lake Storage の接続を確立します。
Jetty ベースでJNDI モジュールを有効化します。JNDI を有効化するコマンドラインは以下の通り:
java -jar ../start.jar --add-to-startd=jndi
<Configure id='azuredatalakedemo' class="org.eclipse.jetty.webapp.WebAppContext">
<New id="azuredatalakedemo" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg><Ref refid="azuredatalakedemo"/></Arg>
<Arg>jdbc/azuredatalakedb</Arg>
<Arg>
<New class="cdata.jdbc.adls.ADLSDriver">
<Set name="url">jdbc:adls:</Set>
<Set name="Schema">ADLSGen2</Set>
<Set name="Account">myAccount</Set>
<Set name="FileSystem">myFileSystem</Set>
<Set name="AccessKey">myAccessKey</Set>
</New>
</Arg>
</New>
</Configure>
Gen 1 DataLakeStorage アカウントに接続するには、はじめに以下のプロパティを設定します。
Gen 1 は、認証方法としてAzure Active Directory OAuth(AzureAD)およびマネージドサービスID(AzureMSI)をサポートしています。認証方法は、ヘルプドキュメントの「Azure DataLakeStorage Gen 1 への認証」セクションを参照してください。
Gen 2 DataLakeStorage アカウントに接続するには、はじめに以下のプロパティを設定します。
Gen 2は、認証方法としてアクセスキー、共有アクセス署名(SAS)、Azure Active Directory OAuth(AzureAD)、マネージドサービスID(AzureMSI)など多様な方法をサポートしています。AzureAD、AzureMSI での認証方法は、ヘルプドキュメントの「Azure DataLakeStorage Gen 2 への認証」セクションを参照してください。
アクセスキーを使用して接続するには、AccessKey プロパティを取得したアクセスキーの値に、AuthScheme を「AccessKey」に設定します。
Azure ポータルからADLS Gen2 ストレージアカウントのアクセスキーを取得できます。
共有アクセス署名を使用して接続するには、SharedAccessSignature プロパティを接続先リソースの有効な署名に設定して、AuthScheme を「SAS」に設定します。 共有アクセス署名は、Azure Storage Explorer などのツールで生成できます。
Web xml でリソースを設定します:
jdbc/azuredatalakedb
javax.sql.DataSource
Container
これで、java:comp/env/jdbc/azuredatalakedb へのルックアップでAzure Data Lake Storage データにアクセスできます:
InitialContext ctx = new InitialContext();
DataSource myazuredatalake = (DataSource)ctx.lookup("java:comp/env/jdbc/azuredatalakedb");
ここでは、シンプルなコネクションプーリングシナリオでのドライバーの接続について説明しました。追加での連携ケースについては、Jetty ドキュメントのWorking with Jetty JNDI 参照してください。