Data Studio では、ビジュアルインターフェイスを通じて EMR Jar および File リソースを作成および管理できます。これらのリソースを使用してカスタム関数を作成したり、Data Studio で参照したりできます。このトピックでは、リソースと関数の作成方法と使用方法について説明します。
前提条件
-
EMR 計算リソースを関連付けているか、EMR Serverless Spark リソースを関連付けていること。リソースと関数の作成に関するすべての操作は、EMR 計算リソースに基づいています。
-
リソースファイルを準備していること。ファイルは、ローカルコンピューターからアップロードするか、Object Storage Service (OSS) から取得できます。OSS ファイルをアップロードしてリソースを作成するには、次の条件を満たす必要があります。
-
OSS を有効化し、バケットを作成し、必要なファイルを OSS バケットにアップロードしていること。特定のバケットからファイルを選択する必要があるため、この方法でリソースを作成する前に、バケットを作成し、ファイルをアップロードしてください。
-
ファイルをアップロードする Alibaba Cloud アカウントに、ターゲットバケットへのアクセス権と書き込み権限が付与されていること。権限の問題を回避するために、アップロードする前に操作アカウントに権限を付与してください。
-
リソースの作成と使用
リソースの説明
Data Studio は、リソースと関数の管理のために、次の表に示すリソースタイプをサポートしています。これらのリソースを OSS または HDFS に保存し、Data Studio で使用したり、カスタム関数を作成するために使用したりできます。
EMR リソースを OSS にアップロードしたり、OSS に保存されている EMR リソースを使用したりすると、標準の OSS 基本課金項目が発生します。
|
リソースタイプ |
説明 |
サポートされるアップロード方法 |
|
|
ローカル |
OSS |
||
|
EMR File |
任意のタイプのファイルを File リソースとしてアップロードできます。実際のサポートは各エンジンに依存します。 |
|
|
|
EMR Jar |
Java プログラムを実行するために使用されるコンパイル済みの Java JAR パッケージです。ファイル拡張子は |
||
制限事項
アップロードされたリソースは、次の制限を満たす必要があります:
-
説明
開発環境と本番環境では、データソース情報が異なる場合があります。環境内でテーブル、リソースのクエリ、または関連操作を実行する前に、その環境のデータソース情報を確認してください。
リソースの作成
EMR リソースは、ローカルアップロードと OSS アップロードの両方をサポートしています。作成されたリソースは、データ開発で直接参照することも、関数を作成するために使用することもできます。
-
リソースを作成した後、OSS またはローカルコンピューターからファイルをファイルソースとしてアップロードします。リソースをアップロードするための主要なパラメーターは次のとおりです:
設定項目
説明
ファイルソース
ターゲットファイルのソースで、Localと OSS のオプションがあります。
ファイルコンテンツ
-
Local を選択した場合、Upload File で Click Upload をクリックしてローカルファイルをアップロードします。
-
OSS を選択した場合、Select File ドロップダウンリストから OSS ファイルを選択します。
ストレージパス
リソースのストレージパスを選択します。OSS と [HDFS] の 2 種類のストレージがサポートされています:
-
OSS を選択した場合は、まずアクセス権を付与してから、ディレクトリを選択します。
説明ここでは Alibaba Cloud アカウント (ルートアカウント) が権限付与を実行する必要があります。
-
[HDFS] を選択した場合は、ストレージパスを手動で入力します。
例:
/user/admin/[specific_path]
説明現在、タスクの JAR パッケージは次の 2 つの保存場所のみをサポートしています:
-
JAR パッケージが EMR クラスターのマスターマシンに保存されている。
-
JAR パッケージが Object Storage Service (OSS) に保存されている。OSS の使用を推奨します。詳細については、「OSS を使用した JAR パッケージの保存」をご参照ください。
データソース
アップロードされた EMR リソースが属するデータソースを選択します。
リソースグループ
EMR データソースへのネットワーク接続を持つサーバーレスリソースグループを選択します。
-
-
上部のツールバーで、リソースを Save し、Publish します。デプロイ済みのリソースのみが Data Studio で使用できます。
説明サーバーレスリソースグループを使用してリソースを送信すると、DataWorks プラットフォームはリソース作成タスクをエンジンにディスパッチして実行し、ランタイムログを出力します。送信中にエラーが発生した場合は、ログを使用して自己トラブルシューティングができます。利用可能なサーバーレスリソースグループがない場合は、サーバーレスリソースグループを作成してください。
リソースの使用
リソースを作成した後、左側のナビゲーションウィンドウで Resource Management をクリックします。ターゲットのリソースまたは関数を見つけて右クリックし、Insert Resource Path を選択します。リソースが正常に参照されると、##@resource_reference{"resource_name"} というフォーマットのコードが表示されます。
たとえば、EMR MR ノードの場合、表示されるフォーマットは ##@resource_reference{"example.jar"} です。表示されるフォーマットはノードタイプによって異なります。実際のインターフェイスが優先されます。
リソースを直接使用するだけでなく、リソースから関数を作成し、開発ノードで使用することもできます。
関数の作成と使用
関数を作成する前に、リソースを作成していることを確認してください。
関数の説明
Data Studio のリソースと関数の管理では、リソースを EMR 関数として登録できます。Data Studio または SQL クエリでは、Hive のビルトイン関数と作成したカスタム関数を使用できます。
関数の作成
-
Confirm をクリックして関数リソースを作成し、関数タイプに基づいて関数情報を設定します。
EMR 関数を設定する前に、EMR クラスターが DataWorks に計算リソースとして登録されており、作成した EMR リソースをアップロードしていることを確認してください。EMR 関数の主要な設定は以下のとおりです。
パラメーター
説明
Function type
関数タイプを選択します:MATH (数学関数)、AGGREGATE (集計関数)、STRING (文字列関数)、DATE (日付関数)、ANALYTIC (ウィンドウ関数)、または OTHER (その他の関数)。
Data Sources
EMR 関数を登録するデータソースを選択します。
EMR database
関数を登録する EMR データベース。
Resource Group
EMR データソースへのネットワーク接続を持つサーバーレスリソースグループを選択します。
Class Name
UDF のクラス名で、フォーマットは
resource_name.class_nameです。JAR パッケージ内の実際のクラスと完全に一致する必要があります。リソースタイプが JAR の場合、Class Name のフォーマットは
Java_package_name.actual_class_nameです。これはIntelliJ IDEAで[参照のコピー]を使用して取得できます。たとえば、
com.aliyun.emr.examples.udfが Java パッケージ名で、UDAFExampleが実際のクラス名の場合、Class Name パラメーターをcom.aliyun.emr.examples.udf.UDAFExampleに設定します。Resource List
現在のワークスペースに追加されたリソースをドロップダウンリストから選択します。このパラメーターは必須です。
-
上部のツールバーで、関数を Save し、Publish します。デプロイ済みの関数のみが Data Studio で使用できます。
関数の使用
関数が作成されデプロイされた後、Data Studio または SQL クエリで直接参照できます。
-
データ開発ノードを編集する際、左側のナビゲーションウィンドウで Resource Management をクリックします。ターゲットの関数を見つけて右クリックし、Insert Function を選択します。
エディターには、
example_function()のような関数名が自動的に挿入されます。 -
SQL クエリを編集する際、作成した関数を SQL ステートメントで直接使用できます。
SELECT example_function(column_name) FROM table;
リソースと関数の管理
Data Studio のビジュアルインターフェイスを通じてリソースをアップロードしたり、関数を作成したりした後、リソース管理ページでターゲットのリソースまたは関数をクリックして管理できます。
-
バージョン履歴の表示:リソースまたは関数エディターページの右側にあるバージョンボタンをクリックして、保存または送信された関数バージョンを表示および比較し、異なるバージョン間の変更を確認します。
説明バージョンを比較するには、少なくとも 2 つのバージョンを選択する必要があります。
-
リソースまたは関数の削除:ターゲットのリソースまたは関数を右クリックし、Delete ボタンをクリックして削除します。
本番環境でリソースまたは関数を削除するには、タスクをデプロイし、削除を本番環境にデプロイする必要があります。デプロイが成功すると、リソースまたは関数は本番環境から同期的に削除されます。