DataWorks E-MapReduce (EMR) Hive ノードは、大規模データのバッチ分析をサポートします。分散システムに保存されたデータを操作して、ビッグデータ処理を簡素化し、開発効率を向上させます。EMR Hive ノードでは、SQL ライクな文を使用して、大規模なデータセットの読み取り、書き込み、管理ができます。これにより、大量のログデータを含むタスクを効率的に分析および開発できます。
前提条件
Alibaba Cloud EMR クラスターを作成し、DataWorks にバインドしていること。詳細については、「Data Studio (新バージョン): EMR 計算リソースをバインドする」をご参照ください。
(オプション) Resource Access Management (RAM) ユーザーの場合は、タスク開発用のワークスペースに追加され、[開発者] または [ワークスペース管理者] ロールが割り当てられていることを確認してください。ワークスペース管理者ロールには広範な権限があります。このロールは慎重に付与してください。メンバーの追加に関する詳細については、「ワークスペースにメンバーを追加する」をご参照ください。
Alibaba Cloud アカウントを使用している場合は、このステップをスキップできます。
DataWorks で Hive データソースを構成し、その接続性を確認していること。詳細については、「データソース管理」をご参照ください。
制限事項
このタイプのタスクは、サーバーレスリソースグループ (推奨) または専用リソースグループでのみスケジュールできます。
DataWorks で DataLake またはカスタムクラスターのメタデータを管理するには、まずクラスターに EMR-HOOK を構成する必要があります。EMR-HOOK の構成方法の詳細については、「Hive 用に EMR-HOOK を構成する」をご参照ください。
説明クラスターに EMR-HOOK が構成されていない場合、DataWorks はリアルタイムメタデータを表示したり、監査ログを生成したり、データリネージを表示したり、EMR 関連の管理タスクを実行したりできません。
ステップ 1: EMR Hive ノードを開発する
ノード編集ページで EMR Hive ノードを開発できます。
SQL コードを開発する
SQL 編集エリアでタスクコードを開発できます。コードでは、${variable_name} 形式を使用して変数を定義し、ノード編集ページの右側にある [スケジュール設定] ペイン > [スケジュールパラメーター] セクションで各変数に値を割り当てることができます。これにより、スケジュールシナリオでコードにパラメーターを動的に渡すことができます。スケジュールパラメーターでサポートされている形式の詳細については、「スケジュールパラメーターでサポートされている形式」をご参照ください。以下に例を示します。
SHOW TABLES ;
SELECT '${var}'; --スケジュールパラメーターと共に使用します。
SELECT * FROM userinfo ;SQL 文の最大サイズは 130 KB です。
ステップ 2: EMR Hive ノードを構成する
(オプション) 詳細設定を構成する
次の表にリストされている固有のプロパティパラメーターを構成できます。これらの設定は、右側の [スケジュール設定] ペインの セクションにあります。
使用可能な詳細設定は、次の表に示すように、EMR クラスターのタイプによって異なります。
右側の [スケジュール設定] ペインの セクションで、より多くの オープンソースの Spark プロパティパラメーター を構成できます。
DataLake クラスター/カスタムクラスター: EMR on ECS
詳細設定 | 説明 |
queue | ジョブが送信されるスケジュールキュー。デフォルトのキューは default です。EMR YARN の詳細については、「基本的なキュー構成」をご参照ください。 |
priority | 優先度。デフォルト値は 1 です。 |
FLOW_SKIP_SQL_ANALYZE | SQL 文の実行モード。有効な値:
説明 このパラメーターは、開発環境でのテスト実行でのみサポートされます。 |
DATAWORKS_SESSION_DISABLE | 開発環境での直接テスト実行に適用されます。有効な値:
説明 このパラメーターを |
その他 | 詳細設定セクションで、カスタムの Hive 接続パラメーターを直接追加することもできます。 |
Hadoop クラスター: EMR on ECS
詳細設定 | 説明 |
queue | ジョブが送信されるスケジュールキュー。デフォルトのキューは default です。EMR YARN の詳細については、「基本的なキュー構成」をご参照ください。 |
priority | 優先度。デフォルト値は 1 です。 |
FLOW_SKIP_SQL_ANALYZE | SQL 文の実行モード。有効な値:
説明 このパラメーターは、開発環境でのテスト実行でのみサポートされます。 |
USE_GATEWAY | このノードからゲートウェイクラスター経由でジョブを送信するかどうかを指定します。有効な値:
説明 このノードが存在するクラスターがゲートウェイクラスターに関連付けられていない場合、このパラメーターを |
ノードタスクをスケジュールで実行するには、そのスケジュールプロパティを構成できます。詳細については、「ノードのスケジューリング」をご参照ください。
ステップ 3: ノードをテストして実行する
SQL タスクを実行する
[デバッグ設定] の [計算リソース] で、[計算リソース] と [DataWorks リソースグループ] を構成します。
説明タスクが必要とするリソースに基づいて [スケジュール CU] を設定することもできます。デフォルト値は
0.25です。パブリックインターネットまたは Virtual Private Cloud (VPC) 経由でデータソースにアクセスするには、データソースとの接続性テストに合格したスケジュールリソースグループを使用する必要があります。詳細については、「ネットワーク接続ソリューション」をご参照ください。
ツールバーのパラメーターダイアログボックスで、Hive データソースを選択し、[実行] をクリックして SQL タスクを実行します。
説明EMR Hive ノードを使用してデータをクエリする場合、クエリは最大
10,000レコードを返すことができます。合計データサイズは10 MBを超えることはできません。[保存] ボタンをクリックします。
その他の操作
ノードタスクを構成した後、ノードを公開できます。詳細については、「ノードまたはワークフローを公開する」をご参照ください。
タスクが公開された後、オペレーションセンターで定期タスクのステータスを表示できます。詳細については、「オペレーションセンターの概要」をご参照ください。
よくある質問
Q: ノードを実行すると接続タイムアウト (ConnectException) が発生するのはなぜですか?

A: リソースグループとクラスター間のネットワーク接続を確認してください。計算リソースリストページに移動して、リソースを初期化します。表示されるダイアログボックスで、[再初期化] をクリックし、初期化が成功したことを確認します。

