このトピックでは、MaxCompute Studio を使用して Java プログラムを開発する方法と、関連するディレクトリについて説明します。
操作手順
-
以下のいずれかの開発パスに基づいて Java プログラムを開発します。
モジュールディレクトリ
MaxCompute Studio は、MaxCompute Java モジュールを作成すると、モジュールディレクトリを自動的に作成します。このモジュールディレクトリには、主に以下のサブディレクトリが含まれます。
-
examples:単体テスト用のサンプルコードです。テストスクリプトを作成する際に、このコードを参照してください。
-
src/main/java:Java プログラム開発用のソースコードです。
ウェアハウス: MaxCompute プロジェクトのテーブルとリソースのスキーマとデータ。
MyfirstProject C:\Users\Administrator\IdeaProjects\M
.idea
MyFristModule
examples
src
main
java
resources
test
target
MyFristModule.iml
pom.xml
scripts
target
warehouse
example_project
__resources__
__tables__
ads_log
kmeans_in
kmeans_out
pagerank_in
pagerank_out
rs_out
sssp_in
sssp_out
wc_in1
wc_in2
wc_out
MyfirstProject.iml
External Libraries
Scratches and Consoles
ウェアハウスディレクトリ
ウェアハウスディレクトリには、MaxCompute プロジェクトのテーブルとリソースのスキーマおよびデータが格納されます。これらのテーブルとリソースは、ユーザー定義関数 (UDF) または MapReduce タスクを実行する際に使用されます。
ディレクトリ構造
ウェアハウスディレクトリは 3 つのレベルで構成されています。
-
レベル 1:プロジェクト名で命名されます。
-
レベル 2:
_resources_と_tables_の 2 つのサブディレクトリが含まれます。 -
レベル 3 (
_tables_配下):テーブル名で命名されます。各テーブルディレクトリには、_schema_ファイルと 1 つ以上のデータファイルが含まれます。
スキーマファイル
スキーマファイルでは、プロジェクト名、テーブル名、および各列の名前とデータ型を設定します。各列名とデータ型はコロン (:) で区切ります。
テーブルがパーティション化されている場合は、パーティションキー列を指定します。この例では、wc_in1 は非パーティションテーブルで、wc_in2 はパーティションテーブルです。
データファイル
データファイルは、UTF-8 エンコーディングの CSV 形式を使用します。列区切り文字はカンマ (,)、行区切り文字は \n または \r\n です。
サポートされている特殊文字は、カンマ (,)、二重引用符 (")、改行 (\n または \r\n) の 3 つです。以下のエスケープルールを使用してください。
| 値に含まれる文字 | 記述方法 | 例 |
|---|---|---|
カンマ (,) |
値を二重引用符で囲む | 3,No → "3,No" |
二重引用符 (") |
各 " を二重引用符 2 つでエスケープする |
a"b"c → "a""b""c" |
改行 (\n または \r\n) |
値を二重引用符で囲む | line1\nline2 → "line1\nline2" |
| NULL 値 | \N |
— |
| STRING 列の NULL 値 | """\N""" |
— |