このトピックでは、MaxCompute Studioを使用してJavaプログラムを開発する方法と、関連するディレクトリについて説明します。
手順
MaxCompute StudioでJavaプログラムを開発するには、次の手順に従います。
次のいずれかのトピックに基づいてJavaプログラムを開発します。
モジュールディレクトリ
MaxCompute Javaモジュールを作成すると、MaxCompute Studioは自動的にモジュールを作成します。 モジュールディレクトリには、次のサブディレクトリがあります。
examples: サンプルコードを格納します。 サンプルコードを参照して、単体テスト用のスクリプトを開発できます。
src/main/java: Javaプログラム開発用のソースコードを格納します。
warehouse: MaxComputeプロジェクトのテーブルとリソースのスキーマとデータを保存します。
warehouseディレクトリ
warehouseディレクトリには、MaxComputeプロジェクトのテーブルとリソースのスキーマとデータが格納されます。 これらのテーブルとリソースは、ユーザー定義関数 (UDF) またはMapReduceタスクを実行するために使用されます。
warehouseディレクトリには、3レベルのサブディレクトリがあります。 レベル1サブディレクトリはプロジェクト名で命名されます。 レベル2のサブディレクトリには、_resources_ と _tables_ があります。 _tables_の各レベル3サブディレクトリには、テーブル名で名前が付けられ、_schema_ およびdataファイルが含まれます。
_schema_ ファイルで、プロジェクト名、テーブル名、および列の名前とデータ型を設定します。 列名とデータ型の各ペアは、コロン (:) で区切ります。 パーティションテーブルを使用する場合は、パーティションキー列を指定する必要があります。 上の図では、wc_in1は非パーティションテーブルで、wc_in2はパーティションテーブルです。
dataファイルでは、次の規則に基づいて、テーブルデータがCSV形式で保存されます。
特殊文字では、コンマ (,) 、二重引用符 (") 、および改行 (
\n
または\r\n
) のみがサポートされます。列区切り文字としてコンマ (,) が使用されます。
\n
または\r\n
は行の区切り文字として使用されます。列の値に特殊文字が含まれている場合は、値を二重引用符 (") で囲みます。 たとえば、
3,No
を"3,No"
と書き込みます。列の値に二重引用符 (") が含まれている場合は、二重引用符 (") のペアを使用して、各二重引用符 (") をエスケープします。 たとえば、
a "b" c
を"a" "b" "c"
と書きます。\N
はNULL値を示します。 STRINGデータ型の列の場合、"" "\N" ""
として\N
を記述します。ファイル内の文字はUTF-8でエンコードされます。