1.13.3 クラウド・ストレージからの複数ファイルのダウンロード

クラウド・ストレージ・プロバイダで実行されているETLジョブで、出力ファイルが複数のパートで生成されるのは珍しいことではありません。たとえば、AWS GlueのETLジョブでは、Apache Sparkの並列処理が起因して、最大20個のParquetファイルが生成される場合があります。

EDQ 12.2.1.4.3には、新しく「クラウド・ストレージからの複数ファイルのダウンロード」という外部タスク・タイプが追加され、Oracleオブジェクト・ストレージ(OCI)、Amazon Web Services (AWS)、Azure Data StorageおよびGoogle Cloud Platformからのファイルのダウンロードがサポートされています。これにより、ストレージ・バケット・フォルダにあるすべてのファイルを、サーバー・ランディング領域にダウンロードしてEDQで処理するメカニズムが実現されます。ダウンロードしたら、Parquetデータ・ストアを使用して、複数のファイルを1つのソースとして読み取ることができます。

必要な場合は、ユーザー認証の詳細やプロキシ/ファイアウォールの設定をファイル・ダウンロード・タスクの一部として設定できます。

複数ファイルのダウンロード・タスクに設定できるオプション一式は次のとおりです:

  • ソース: サポートされているすべてのクラウド・ストレージ・プロバイダをリストします。ドロップダウン矢印をクリックして、必要なストレージ・プロバイダを選択します。
  • バケットURL: ストレージ・バケットの場所を指定します。サポートされるURLの形式は次のとおりです:
    • OCIオブジェクト・ストレージ: https://objectstorage.region.oraclecloud.com/n/tenancy/b/bucketname/o
    • AWS S3: https://bucketname.s3.region.amazonaws.com
    • Azure Storage: https://account.blob.core.windows.net/containername
    • Google Cloud Storage: https://storage.googleapis.com/storage/v1/b/bucketname/o/
  • バケット内のフォルダ: バケット内のフォルダ・パスを指定します。
  • ファイル名パターン: *?のワイルドカードを使用して、ファイルのサブセットを選択できます。
  • 資格証明: バケットへのアクセスに必要な格納済資格証明をリストします。ドロップダウン矢印をクリックして、必要な格納済資格証明を選択します。バケットにパブリック・アクセス権がある場合は、これを空白のままにします。
  • 既存のファイルの削除: このチェック・ボックスは、ダウンロードする前に、ランディング領域ディレクトにあるファイルをすべて削除する場合に選択します。ランディング領域ディレクトリがない場合は、ランディング領域にあるファイルすべてが誤って削除されてしまわないよう、このオプションは無効化されます。
  • プロキシ・ホスト: プロキシ/ファイアウォール・サーバーの名前またはIPアドレス(サーバーがインターネット/ネットワークに直接接続されない場合)。

    Google Cloud Platformからファイルをダウンロードする場合は、認証のために、トークン・エンドポイントにコールしてアクセス・トークンを取得する必要があります。ダウンロード・タスク・プロパティに設定されているプロキシ・サーバーが使用されるのは、ファイルをダウンロードする場合のみで、トークン・エンドポイントへのコールには使用されません。外部サイトへのアクセスにプロキシ・サーバーが必要な場合は、標準のJavaプロパティを使用してこれを定義してください。これを実行するには、EDQのローカル構成ディレクトリ(oedq_local_home by default)にjvm.propertiesという名前のファイルを作成し、次のようなエントリを追加します:

    https.proxyHost    = myproxy
    https.proxyPort    = 80
    http.nonProxyHosts = *.example.com|localhost
    

    http.nonProxyHostsの値を調整して、プロキシを必要としないホストとドメインが含まれるようにします。

  • プロキシ・ポート: プロキシ/ファイアウォール・サーバーへの接続に使用されるポート。

  • ランディング領域のディレクトリ: ダウンロードしたファイルを格納するランディング領域のディレクトリに付ける名前を指定します。ランディング領域のサブフォルダにファイルを格納しない場合は、スラッシュを使用してディレクトリ構造を指定してください(たとえば、DownloadedData/downloadedfile.csv)。

  • プロジェクト専用フォルダを使用: このオプションを選択すると、ファイルがプロジェクト専用のランディング領域に自動的に格納されます。通常これが使用されるのは、ランディング領域にアクセスできるのが同じプロジェクト内のプロセスのみになるようにプロジェクト権限が設定されている場合です。

ファイル・ダウンロード・タスクには名前を付けて、説明(オプション)を付けることができます。