Data Studio では、E-MapReduce (EMR) の JAR リソースと File リソースを視覚的に作成および管理できます。これらのリソースを使用してユーザー定義関数を作成したり、Data Studio で直接使用したりできます。このトピックでは、これらのリソースと関数の作成方法と使用方法について説明します。
前提条件
EMR 計算リソースまたは EMR Serverless Spark 計算リソースをアタッチ済みであること。EMR のリソースと関数は、これらの計算リソースに基づいて作成されます。
必要なリソースファイルを開発済みであること。ローカルコンピューターからファイルをアップロードするか、Object Storage Service (OSS) から取得できます。OSS からファイルをアップロードしてリソースを作成する場合は、次の条件を満たす必要があります。
OSS が有効化され、OSS バケットが作成され、アップロードするファイルが OSS バケットに保存されていること。指定されたバケットからファイルを選択する必要があるため、リソースを作成する前に、まず バケットを作成し、関連ファイルをアップロードしておく必要があります。
ファイルのアップロードに使用する Alibaba Cloud アカウントに、宛先バケットへのデータアクセスおよび書き込み権限があること。権限の問題を防ぐために、ファイルをアップロードする前に、アカウントに必要な権限を付与してください。
Resource Management への移動
DataWorks コンソールの Workspaces ページに移動します。上部のナビゲーションバーで、目的のリージョンを選択します。目的のワークスペースを見つけ、[アクション] 列で を選択します。
左側のナビゲーションウィンドウで、Resource Management アイコン
をクリックして、[Resource Management] ページに移動します。ページで、
アイコンをクリックして新しいリソースまたは関数を作成します。または、まず [ディレクトリの作成] をクリックしてリソースを整理することもできます。その後、ターゲットフォルダを右クリックし、作成するリソースまたは関数のタイプを選択します。
リソースの作成と使用
リソースの説明
Data Studio の Resource Management セクションでは、次の表に示すリソースを作成できます。作成したリソースは、OSS または Hadoop 分散ファイルシステム (HDFS) に保存できます。その後、Data Studio で使用したり、ユーザー定義関数を作成するために使用したりできます。
EMR リソースを OSS にアップロードする場合、または OSS に保存されている EMR リソースを使用する場合、OSS の 基本料金が適用されます。
リソースタイプ | 説明 | サポートされるアップロード方法 | |
ローカル | OSS | ||
EMR File | 任意のタイプのファイルを File リソースとしてアップロードします。実際の使用方法は、コンピュートエンジンがそのファイルタイプをサポートしているかどうかによって異なります。 |
|
|
EMR Jar | Java プログラムを実行するために使用される、コンパイル済みの Java JAR パッケージです。ファイル名拡張子は | ||
制限事項
アップロードされたリソースは、次の制限を満たす必要があります。
リソースサイズ:
リソースの公開: 標準モードのワークスペースを使用する場合、リソースを有効にするには、本番環境に公開する必要があります。
説明データソース情報は、開発環境と本番環境で異なります。ある環境でテーブルやリソースをクエリする前に、その環境のデータソース情報が正しいことを確認してください。
リソース管理: DataWorks では、DataWorks インターフェイスを使用してアップロードしたリソースのみを表示および管理できます。
リソースの作成
EMR リソースは、ローカルコンピューターまたは OSS からアップロードできます。作成したリソースは、Data Studio で直接参照したり、関数を作成するために使用したりできます。
Resource Management ページで、表示される [リソースまたは関数の作成] ダイアログボックスで、リソースの [タイプ]、[パス]、[名前] を設定します。
リソースを作成した後、ローカルファイルまたは OSS オブジェクトをファイルソースとしてアップロードします。次の表に、リソースをアップロードするための主要なパラメーターを示します。
設定項目
パラメーターの説明
ファイルソース
オブジェクトファイルのソース。有効な値: [ローカル]および [OSS]。
ファイルコンテンツ
[ローカル] を選択した場合、[ファイルアップロード] セクションで [クリックしてアップロード] をクリックしてローカルファイルをアップロードします。
[OSS] を選択した場合は、[ファイルの選択] ドロップダウンリストから OSS ファイルを選択してください。
ストレージパス
リソースが保存されるパス。 有効値: OSS および HDFS。
[OSS] を選択した場合は、権限を付与してからディレクトリを選択します。
説明権限付与は Alibaba Cloud アカウントで行う必要があります。
[HDFS] を選択した場合は、手動でストレージパスを入力する必要があります。
例:
/user/admin/[specific path]。
説明JAR パッケージは、次のいずれかの場所に保存できます。
JAR パッケージは EMR クラスターの Master ノードに保存されます。
JAR パッケージは Object Storage Service (Object Storage Service、OSS) に保存されます。ストレージには OSS を使用することを推奨します。詳細については、「OSS への JAR パッケージの保存」をご参照ください。
データソース
アップロードされた EMR リソースが属するデータソースです。
リソースグループ
EMR データソースに接続できる Serverless リソースグループを選択します。
ツールバーで [保存] と [公開] を順にクリックします。Data Studio では、公開されたリソースのみを使用できます。
説明Serverless リソースグループを使用してリソースを送信すると、DataWorks はタスクを DPI エンジンに送信してリソースを作成し、実行ログを生成します。これらのログを使用して、送信中に発生した問題をトラブルシューティングできます。利用可能な Serverless リソースグループがない場合は、Serverless リソースグループを追加してください。
リソースの使用
リソースを作成したら、左側のナビゲーションウィンドウで[Resource Management]に移動します。目的のリソースを見つけ、それを右クリックし、[Reference Resource]を選択します。リソースが参照されると、##@resource_reference{"Resource Name"} フォーマットのコードがノードに追加されます。
たとえば、EMR MR ノードのコードは ##@resource_reference{"example.jar"} です。コードのフォーマットはノードタイプによって異なります。
また、リソースから関数を作成し、その関数を開発ノードで使用することもできます。
関数の作成と使用
関数を作成する前に、リソースが作成済みであることを確認してください。
関数の説明
Data Studio の Resource Management セクションでは、リソースを EMR 関数として登録できます。Data Studio または SQL クエリでは、Hive が提供するビルトイン関数に加えて、作成したユーザー定義関数も使用できます。
関数の作成
[Resource Management] ページで、表示される [リソースまたは関数の作成] ダイアログボックスで、関数の [タイプ]、[パス]、および [名前] を設定します。
[確認] をクリックして関数リソースを作成します。次に、そのタイプに基づいて関数のパラメーターを設定します。
EMR 関数を設定する前に、EMR クラスターが DataWorks に計算リソースとして登録されており、EMR リソースが作成済みであることを確認してください。次の表に、EMR 関数の主要なパラメーターを示します。
パラメーター
説明
関数タイプ
関数の種類です。有効な値は MATH (算術演算)、AGGREGATE (集計関数)、STRING (文字列)、DATE (日付)、ANALYTIC (ウィンドウ)、および OTHER (その他) です。
データソース
EMR 関数を登録するデータソースです。
EMR データベース
関数を登録する EMR データベースです。
リソースグループ
EMR データソースに接続できる Serverless リソースグループを選択します。
クラス名
ユーザー定義関数 (UDF) のクラス名です。クラス名は
リソース名.クラス名の形式で、JAR パッケージ内のクラス名と同じである必要があります。リソースタイプが JAR の場合、[クラス名] パラメーターに
Java package name.Actual class nameフォーマットの値を設定します。IntelliJ IDEAでCopy Reference文を実行してクラス名を取得できます。たとえば、Java パッケージ名が
com.aliyun.emr.examples.udfで、実際のクラス名がUDAFExampleの場合、[クラス名] パラメーターをcom.aliyun.emr.examples.udf.UDAFExampleに設定します。リソースリスト
このパラメーターは必須です。ドロップダウンリストから、現在のワークスペースに追加されているリソースを選択します。
ツールバーで、[保存] をクリックし、次に [公開] をクリックします。Data Studio では、公開された関数のみ使用できます。
関数の使用
関数が作成され公開された後、Data Studio または SQL クエリで直接参照できます。
データ開発ノードを編集するときは、左側のナビゲーションウィンドウで [Resource Management] をクリックします。 次に、ターゲットリソースまたは関数を見つけて右クリックし、[関数を挿入] を選択します。
関数が正常に参照されると、ユーザー定義関数の名前がノード編集ページに自動的に挿入されます (例:
example_function())。SQL クエリを編集する際に、作成した関数を直接使用できます。
SELECT example_function(column_name) FROM table;リソースと関数の管理
Data Studio でリソースをアップロードまたは関数を作成した後、Resource Management ページに移動し、ターゲットのリソースまたは関数を選択して管理できます。
履歴バージョンの表示: リソースまたは関数の編集ページの右側にあるバージョンアイコンをクリックすると、保存または送信されたバージョンを表示および比較できます。これにより、異なるバージョン間の変更点を確認できます。
説明比較するには、少なくとも 2 つのバージョンを選択する必要があります。
リソースまたは関数の削除: 対象のリソースまたは関数を右クリックし、[削除] を選択します。
本番環境からリソースまたは関数を削除するには、削除操作を本番環境に公開する必要があります。タスクが公開されると、リソースまたは関数は本番環境から削除されます。