SparkジョブのためのAWS Qubole接続パラメーターを定義 - 7.3

Spark Streaming

Version
7.3
Language
日本語 (日本)
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Open Studio for Big Data
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > ジョブデザイン > ジョブフレームワーク > Spark Streaming

ジョブの[Run] (実行)ビューの[Spark configuration] (Sparkの設定)で、Qubole接続の設定を完了します。この構成は、ジョブごとに有効です。

Quboleは、従来式のデータ統合フレームワーク(the Standard framework)およびSparkフレームワークでのみサポートされています。

このセクションの情報は、Talend Data Fabric またはビッグデータ対応のTalend製品のいずれかにサブスクライブしているユーザーだけを対象とします。また、Talend Open Studio for Big Dataユーザーは対象外です。

始める前に

  • ここまででAWSでQuboleクラスターを正しく設定しているはずです。この方法の詳細は、Quboleドキュメントの『Getting Started with Qubole on AWS』を参照してください。
  • 使用するAWSアカウントで使用するS3バケットに対する適切な読み書き権限があることを確認します。詳細は、Quboleシステムの管理者に問い合わせるか、Quboleドキュメントの「Cross-account IAM Role for QDS(QDSのクロスアカウントIAMロール)」を参照してください。
  • 使用するAWSアカウントで使用するS3バケットに対する適切な読み書き権限があることを確認します。AWSシステムの管理者に問い合わせてご確認ください。

手順

  1. 基本的な設定情報を入力します:
    [Use local timezone] (ローカルタイムゾーンを使用) このチェックボックスをオンにすると、Sparkはシステムで指定されているローカルタイムゾーンを使います。
    注:
    • このチェックボックスをオフにすると、SparkによってUTCタイムゾーンが使用されます。
    • コンポーネントによっては[Use local timezone for date] (日付にローカルタイムゾーンを使用)チェックボックスもあります。コンポネントのチェックボックスをオフにすると、Spark設定からのタイムゾーンを継承します。
    [Use dataset API in migrated components] (移行したコンポーネントでデータセットAPIを使用) このチェックボックスを選択し、コンポーネントにResilient Distribued Dataset (RDD) APIの代わりにDataset (DS) APIを使用させます:
    • チェックボックスを選択する場合は、ジョブ内のコンポーネントはDSで実行されて、パフォーマンスが向上します。
    • チェックボックスをオフにする場合は、ジョブ内のコンポーネントはRDDで実行されて、変更されていない状態のままです。これにより、下位互換性が保証されます。
    重要: ジョブにtDeltaLakeInputコンポーネントとtDeltaLakeOutputコンポーネントが含まれている場合は、このチェックボックスを選択する必要があります。
    注: 7.3で新しく作成されたジョブはDSを使用し、7.3以前のバージョンからインポートされたジョブはデフォルトでRDDを使用します。しかし、すべてのコンポーネントがRDDからDSに移行されないため、デフォルトでエラーを避けるには、チェックボックスをオフにすることをお勧めします。
    [Use timestamp for dataset components] (データセットコンポーネントにタイムスタンプを使用) このチェックボックスをオンにすると、日付でjava.sql.Timestamp使われます。
    注: このチェックボックスをオフのままにしておくと、パターンに応じてjava.sql.Timestampjava.sql.Dateが使われます。
  2. Quboleの基本的な接続情報を入力します:

    接続設定

    • [API Token] (APIトークン)フィールドの横にある[...]ボタンをクリックして、使用するQuboleユーザーアカウントに生成された認証トークンを入力します。このトークンの入手方法については、QuboleのドキュメンテーションでQuboleアカウントの管理を参照してください。

      このトークンで、Quboleへのアクセスに使用するユーザーアカウントを指定できます。ジョブは、Quboleでこのユーザーアカウントに付与された権限を自動的に使用します。

    • [Cluster label] (クラスターラベル)チェックボックスをオンにして、使用するQuboleクラスターの名前を入力します。このチェックボックスをオフのままにしておくと、デフォルトのクラスターが使用されます。

      デフォルトのクラスターに関する詳細が必要な場合は、Quboleサービスの管理者にお問い合わせください。デフォルトQuboleクラスターの設定に関する情報については、この記事をQuboleのドキュメンテーションもご参照ください。

    • [Change API endpoint] (APIエンドポイントの変更)チェックボックスをオンにして、使用するリージョンを選択します。このチェックボックスをオフのままにしておくと、デフォルトのリージョンが使用されます。

      QDS-on-AWSでサポートされているQuboleエンドポイントについては、さまざまなクラウドプロバイダーでサポートされているQuboleエンドポイントを参照してください。

  3. 使用するS3ファイルシステムへの接続を設定してジョブの依存項目を一時的に保存します。これは、Quboleクラスターがこれらの依存項目にアクセスできるようにするためです。
    この設定はジョブの依存関係についてのみ使用されます。ジョブではtS3Configurationを使用して、実際のビジネスデータをQuboleのS3システムに書き込みます。tS3Configurationを使わない場合、このビジネスデータはQubole HDFSシステムに書き込まれ、クラスターをシャットダウンすると破棄されます。
    • [Access key] (アクセスキー)[Secret key] (シークレットキー): 使用するAmazon S3バケットへの接続に必要な認証情報を入力します。

      パスワードを入力するには、パスワードフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符の間に入力し、[OK] をクリックして設定を保存します。

    • [Bucket name] (バケット名): ジョブの依存項目を保存するために使用するバケットの名前を入力します。S3に既存のバケットを用意しておく必要があります。
    • [Temporary resource folder] (一時リソースフォルダー): ジョブの依存項目を保存するディレクトリーを入力します。たとえば、バケット内の/temp_resources フォルダーに依存項目を書き込むには、temp_resourcesと入力します。

      ランタイムにこのフォルダーが既に存在する場合、そのコンテンツは新しい依存項目によって上書きされます。そうでない場合、このフォルダーは自動的に作成されます。

    • [Region] (リージョン): リストからリージョン名を選択することで、AWSリージョンを指定します。AWSリージョンの詳細の詳細は、[Regions and Endpoints] (リージョンとエンドポイント)を参照してください。

タスクの結果

  • 接続の設定後、必須ではありませんがSparkのパフォーマンスを調整できます。調整する場合は、以下に記載のプロセスに従います。
  • ジョブを耐障害性にする必要がある場合は、[Activate checkpointing] (チェックポイントを有効化)チェックボックスをオンにしてSparkチェックポイントオペレーションを有効にします。メタデータなどの計算のコンテキストデータ、この計算から生成されたRDDをSparkが保存する、クラスターのファイルシステム内のディレクトリーを、表示されたフィールドに入力します。

    Sparkチェックポイント操作に関する詳細は、の公式Sparkドキュメンテーションをご覧ください。