FTP 入力ウィジェットは、FTP サーバーからビッグデータプラットフォームに関連付けられたストレージシステムへのデータ転送を容易にし、データ統合とさらなる処理を可能にします。このトピックでは、FTP 入力ウィジェットを設定する手順について説明します。
前提条件
FTP データソースを正常に作成していること。詳細については、「FTP データソースの作成」をご参照ください。
FTP 入力ウィジェットのプロパティを設定するには、アカウントにデータソースのリードスルー権限が必要です。必要な権限がない場合は、データソースから取得する必要があります。詳細については、「データソース権限の要求、更新、および返却」をご参照ください。
手順
Dataphin ホームページで、トップメニューバーに移動し、[開発] > [data Integration] を選択します。
統合ページの上部で、[プロジェクト] を選択します(開発-本番モードでは環境を選択する必要があります)。
左側のナビゲーションウィンドウで [バッチパイプライン] をクリックし、[バッチパイプライン] リストで、開発したい [オフラインパイプライン] をクリックして設定ページにアクセスします。
右上隅にある [コンポーネントライブラリ] をクリックして、[コンポーネントライブラリ] パネルを開きます。
[コンポーネントライブラリ] パネルの左側のナビゲーションウィンドウで、[入力] を選択します。右側の入力ウィジェットリストで [FTP] コンポーネントを見つけて、キャンバスにドラッグします。
FTP 入力ウィジェットカードの
アイコンをクリックして、[FTP] [入力構成] ダイアログボックスを開きます。[FTP 入力構成] ダイアログボックスで、必要なパラメーターを設定します。
FTP 入力コンポーネントは、[ファイルタイプ] として [テキスト]、[CSV]、[xls]、[xlsx] をサポートしています。各ファイルタイプには、以下に詳述するように異なる設定が必要です。
テキストファイルと CSV ファイルのパラメーター
パラメーター
説明
基本設定
ステップ名
シナリオに基づいてコンポーネントの名前を入力します。名前は次のルールに従う必要があります:
中国語の文字、英字、アンダースコア (_)、数字のみを含めることができます。
長さは最大 64 文字です。
データソース
データソースを選択します。データソースは Dataphin で設定され、次の条件を満たす必要があります:
データソースタイプが [FTP データソース]、[SFTP データソース]、または [FTPS データソース] であること。
[属性設定] を実行するために使用されるアカウントに、データソースに対するリードスルー権限があること。アカウントに必要な権限がない場合は、権限を要求してください。詳細については、「データソース権限の要求、更新、返却」をご参照ください。
また、[データソース] の横にある [新規] をクリックして管理センターに移動し、データソースを追加することもできます。詳細については、「FTP データソースの作成」をご参照ください。
圧縮形式 (オプション)
ソースファイルが圧縮されている場合は、圧縮形式を選択します。Dataphin はファイルを解凍できます。サポートされている形式には、zip、gzip、tar.gz、bzip2、lzo、lzo-deflate、hadoop-snappy、framing-snappy があります。
説明圧縮形式として [zip] または [tar.gz] を選択した場合は、ファイル名も設定できます。
ファイル名 (オプション)
圧縮パッケージ内のファイルの照合ルール。セミコロン (;) で区切って複数のルールを指定できます。ワイルドカード文字がサポートされています。たとえば、
*を指定すると、パッケージ内のすべてのファイルが読み取られます。これを空のままにすると、システムはデフォルトで*を使用します。ファイルパス
ファイルパスを入力します。セミコロン (;) で区切って複数のパスを入力できます。ワイルドカード文字がサポートされています。たとえば、
/dataphin/*はdataphinディレクトリ内のすべてのファイルを読み取ります。ファイルの種類
[テキスト] または [CSV] を選択します。
データコンテンツの開始行
コンポーネントがデータの読み取りを開始する行を設定します。デフォルト値は 1 で、最初の行から読み取りが開始されることを意味します。最初の N 行をスキップするには、このパラメーターを N+1 に設定します。
高度な設定
分割方法
テキストファイルは [デリミタベースの分割] と [固定長分割] をサポートしています。CSV ファイルは [デリミタベースの分割] をサポートしています。
[デリミタベースの分割]: [フィールド区切り文字] と [行区切り文字] に基づいて行とフィールドを分割します。
[固定長分割]: ファイルの各行を長い文字列として扱い、開始と終了の文字位置に基づいてフィールドを抽出します。
[フィールド区切り文字]
デリミタベースの分割を選択した場合は、フィールド区切り文字を指定します。これを空のままにすると、デフォルトでコンマ (,) が使用されます。
行区切り記号
チャンク化メソッドが [フィールド長で分割] の場合、[行区切り文字] を設定することはできません。値を指定しない場合、システムはデフォルトの行区切り文字として改行文字 (\n) を使用します。ファイルタイプがテキストの場合、行区切り文字と
textReaderConfigパラメーターを同時に設定することはできません。ファイル エンコーディング
ファイルエンコーディング形式を選択します。サポートされている形式は [UTF-8] と [GBK] です。
NULL 値変換
NULL 値を表す文字列を指定します。コンポーネントは、ソースデータ内のこの文字列のすべての出現箇所を NULL に置き換えます。このパラメーターを設定しない場合、特別な処理は実行されません。
完了ファイル チェックのマーク
データを読み取る前にマーカーファイルが存在するかどうかをチェックします。これはデータが準備できていることを示します。この機能はデフォルトで [無効] になっています。
この機能を有効にするには、トグルをクリックしてから [チェック設定] をクリックします。
[完了マーカーファイル設定の確認] ダイアログボックスで、パラメーターを設定します。
[完了マーカーファイルパス]: チェックするマーカーファイルのパスを入力します。システムパラメーター、グローバルパラメーター、およびクロスノードパラメーターがサポートされています。例:
/${check}/dataphin。[ヘルスチェック間隔 (秒)]: 各ファイルチェックの間隔を指定します。デフォルト値は 60 秒です。
[チェック期間 (分)]: 各ファイルチェックの期間を指定します。デフォルト値は 60 分です。
重要チェック期間とデータ転送期間が合計されて、統合ノードの総実行時間が決定されます。チェック期間と実行タイムアウト設定は慎重に設定してください。チェック中にリソースが占有されます。ニーズに基づいてこれらの設定を行ってください。
チェック時間がノードのタイムアウト期間を超えると、ノードは強制的に終了されます。
[失敗処理ポリシー]: ファイルチェックが失敗した場合、データは抽出も書き込みもされません。ポリシーを [ノードを失敗させる] または [ノードを成功させる] に設定できます。
[ノードを失敗させる]: チェックが失敗した場合、システムはチェックノードを失敗に設定し、統合ノードを実行しません。
[ノードを成功させる]: チェックが失敗した場合、システムはチェックノードを成功に設定し、後続の統合ノードの実行を続行します。
[OK] をクリックして設定を保存します。
ファイルが存在しない場合
ソースファイルが存在しない場合のポリシーを指定します。サポートされているポリシーは [無視] と [ノードを失敗させる] です。このパラメーターは、[完了マーカーファイルの確認] を有効にしている場合は使用できません。
[無視]: ファイルが存在しない場合、コンポーネントはそれを無視し、他のファイルの読み取りを続行します。
[ノードを失敗させる]: ファイルが存在しない場合、ノードは終了され、失敗に設定されます。
[詳細設定]
データ読み取りを制御するための他の設定項目を入力します。たとえば、
textReaderConfigを使用してテキストファイルの読み取り方法を制御します。次のコードは例を示しています。{ "textReaderConfig":{ "useTextQualifier":false, // 修飾子が存在するかどうかを指定します。 "textQualifier":"\"",// 修飾子。 "caseSensitive":true, // 修飾子が大文字と小文字を区別するかどうかを指定します。 "trimWhitespace":false // 各列の先頭と末尾の空白文字を削除するかどうかを指定します。 } }出力フィールド
出力フィールドが表示されます。次の方法で出力フィールドを追加できます:
一度に複数の出力フィールドを追加する。
[フォーマット]: [一括追加] をクリックします。[JSON] または [TEXT] 形式でフィールドを設定できます。
JSON 形式:
// 例: [{ "startPos": 0, "endPos": 10, "name": "user_id", "type": "String" }, { "startPos": 11, "endPos": 15, "name": "user_name", "type": "String" }]TEXT 形式:
// 例: 0,10,user_id,String 11,15,user_name,String
分割方法: ファイルタイプが [テキスト] で、分割方法が [固定長分割] の場合、フィールドを一括で追加する方法を設定できます。有効な値は [フィールド開始位置で指定] と [フィールド長で指定] です。
フィールド開始位置で指定: 最初の数値はフィールドの開始文字位置を指定し、2 番目の数値は終了位置を指定し、続く 2 つの値はフィールド名とフィールドタイプを指定します。たとえば、テキスト形式
0,10,user_id,Stringは、ファイルの各行の 1 文字目から 11 文字目までを、名前がuser_id、タイプがStringのフィールドとしてインポートすることを示します。フィールド長で指定: 最初の値はフィールド長を指定し、続く 2 つの値はフィールド名とフィールドタイプを指定します。たとえば、テキスト形式の場合、
11,user_id,Stringは長さ 11 のフィールドを定義します。フィールド名はuser_idで、フィールドタイプはStringです。次のフィールドは、前のフィールドの直後の文字から始まります。
行区切り文字と列区切り文字: [TEXT] 形式でフィールドを一括追加する場合、行と列の区切り文字を設定できます。行区切り文字は、各フィールドの情報を区切るために使用されます。デフォルト値は改行
\nで、サポートされている区切り文字には\n ; .があります。列区切り文字は、フィールド名とフィールドタイプを区切るために使用され、そのデフォルト値はコンマ (,) です。
分割結果をプレビューする。
ファイルタイプが [テキスト] で、分割方法が [固定長分割] の場合、分割結果をプレビューできます。
[分割結果のプレビュー] をクリックします。
表示されるダイアログボックスで、テスト文字列を入力し、[テスト] をクリックして結果を表示します。
単一の出力フィールドを追加する。
[出力フィールドの追加] をクリックし、[ソース序数]、[フィールド] を入力し、[タイプ] を選択します。テキストファイルと CSV ファイルの場合、ソース序数として列の数値インデックスを必ず入力する必要があります。インデックスは 0 から始まります。
既存の出力フィールドを管理する。
追加されたフィールドに対して次の操作を実行できます:
[アクション] 列で、
アイコンをクリックしてフィールドを編集します。[アクション] 列で、
アイコンをクリックしてフィールドを削除します。
xls および xlsx ファイルのパラメーター
パラメーター
説明
基本設定
ステップ名
シナリオに基づいてコンポーネントの名前を入力します。名前は次のルールに従う必要があります:
中国語の文字、英字、アンダースコア (_)、数字のみを含めることができます。
長さは最大 64 文字です。
データソース
データソースを選択します。データソースは Dataphin で設定され、次の条件を満たす必要があります:
データソースタイプが [FTP データソース]、[SFTP データソース]、または [FTPS データソース] であること。
[属性設定] を実行するために使用されるアカウントに、データソースに対するリードスルー権限があること。アカウントに必要な権限がない場合は、権限を要求してください。詳細については、「データソース権限の要求、更新、返却」をご参照ください。
また、[データソース] の横にある [新規] をクリックして [プランニング] モジュールに移動し、データソースを追加することもできます。詳細については、「FTP データソースの作成」をご参照ください。
圧縮形式
ソースファイルが圧縮されている場合は、圧縮形式を選択します。Dataphin はファイルを解凍できます。サポートされている形式には、zip、gzip、tar.gz、bzip2、lzo、lzo-deflate、hadoop-snappy、framing-snappy、zlib があります。
説明圧縮形式として [zip] または [tar.gz] を選択した場合は、ファイル名も設定できます。
ファイル名
圧縮パッケージ内のファイルの照合ルール。セミコロン (;) で区切って複数のルールを指定できます。ワイルドカード文字がサポートされています。たとえば、
*を指定すると、パッケージ内のすべてのファイルが読み取られます。これを空のままにすると、システムはデフォルトで*を使用します。[ファイルパス]
ファイルパスを入力します。セミコロン (;) で区切って複数のパスを入力できます。ワイルドカード文字がサポートされています。たとえば、
/dataphin/*はdataphinディレクトリ内のすべてのファイルを読み取ります。[ファイルタイプ]
[xls] または [xlsx] を選択します。
データ内容の開始行
コンポーネントがデータの読み取りを開始する行を設定します。デフォルト値は 1 で、最初の行から読み取りが開始されることを意味します。最初の N 行をスキップするには、このパラメーターを N+1 に設定します。
シートの選択
シートを [名前で] または [インデックスで] 選択します。複数のシートからデータを読み取る場合、それらのデータ形式は同じである必要があります。
シート名/シートインデックス
[シート名]: 複数のシートからデータを読み取ることができます。シート名をコンマ (,) で区切ります。
*を入力してすべてのシートを読み取ることもできます。*とコンマを一緒に使用することはできません。例:sheet1,sheet2。[シートインデックス]: 複数のシートからデータを読み取ることができます。シートインデックスをコンマ (,) で区切ります。
*を入力してすべてのシートを読み取ることもできます。*とコンマを一緒に使用することはできません。たとえば、0,3,7-9を使用して、個々のシートまたは連続したシートを指定できます。
詳細設定
データ内容の終了行
このパラメーターを指定しない場合、コンポーネントは最後の行までデータを読み取ります。[データ内容の終了行] の値は、[データ内容の開始行] の値以上である必要があります。
シート名のエクスポート
シート名をエクスポートするかどうかを選択します。[エクスポート] を選択すると、新しいフィールドが追加されます。このフィールドには、各データ行のソースシートの名前が含まれます。
ファイルエンコーディング
ファイルのエンコード形式を選択します。サポートされている形式は UTF-8 と GBK です。
NULL 値変換
NULL 値を表す文字列を指定します。コンポーネントは、ソースデータ内のこの文字列のすべての出現箇所を NULL に置き換えます。このパラメーターを設定しない場合、特別な処理は実行されません。
[マーク完了ファイルチェック]
データを読み取る前にマーカーファイルが存在するかどうかをチェックします。これはデータが準備できていることを示します。この機能はデフォルトで [無効] になっています。
この機能を有効にするには、トグルをクリックしてから [チェック設定] をクリックします。
[完了マーカーファイル設定の確認] ダイアログボックスで、パラメーターを設定します。
[完了マーカーファイルパス]: チェックするマーカーファイルのパスを入力します。システムパラメーター、グローバルパラメーター、およびクロスノードパラメーターがサポートされています。例:
/${check}/dataphin。[ヘルスチェック間隔 (秒)]: 各ファイルチェックの間隔を指定します。デフォルト値は 60 秒です。
[チェック期間 (分)]: 各ファイルチェックの期間を指定します。デフォルト値は 60 分です。
重要チェック期間とデータ転送期間が合計されて、統合ノードの総実行時間が決定されます。チェック期間と実行タイムアウト設定は慎重に設定してください。チェック中にリソースが占有されます。ニーズに基づいてこれらの設定を行ってください。
チェック時間がノードのタイムアウト期間を超えると、ノードは強制的に終了されます。
[失敗処理ポリシー]: ファイルチェックが失敗した場合、データは抽出も書き込みもされません。ポリシーを [ノードを失敗させる] または [ノードを成功させる] に設定できます。
[ノードを失敗させる]: チェックが失敗した場合、システムはチェックノードを失敗に設定し、統合ノードを実行しません。
[ノードを成功させる]: チェックが失敗した場合、システムはチェックノードを成功に設定し、後続の統合ノードの実行を続行します。
[OK] をクリックして設定を保存します。
ファイルが存在しない場合
ソースファイルが存在しない場合のポリシーを指定します。サポートされているポリシーは [無視] と [ノードを失敗させる] です。このパラメーターは、[完了マーカーファイルの確認] を有効にしている場合は使用できません。
[無視]: ファイルが存在しない場合、コンポーネントはそれを無視し、他のファイルの読み取りを続行します。
[ノードを失敗させる]: ファイルが存在しない場合、ノードは終了され、失敗に設定されます。
出力フィールド
出力フィールドが表示されます。次の方法で出力フィールドを追加できます:
一度に複数の出力フィールドを追加する。
[一括追加] をクリックします。[JSON] または [TEXT] 形式でフィールドを設定できます。
[JSON 形式:] 形式:
// 例: [{ "startPos": 0, "endPos": 10, "name": "user_id", "type": "String" }, { "startPos": 11, "endPos": 15, "name": "user_name", "type": "String" }]TEXT 形式:
行区切り文字と列区切り文字: [TEXT] 形式でフィールドを一括追加する場合、行と列の区切り文字を設定できます。行区切り文字は、各フィールドの情報を区切るために使用されます。デフォルトは改行文字
\nで、サポートされている区切り文字は\n ; .です。列区切り文字は、フィールド名とフィールドタイプを区切るために使用されます。デフォルトは英語のコンマ (,) です。// 例: 0,10,user_id,String 11,15,user_name,String
単一の出力フィールドを追加する。
[出力フィールドの追加] をクリックし、[ソース序数]、[フィールド] を入力し、[タイプ] を選択します。xls および xlsx ファイルの場合、ソース序数として列の大文字を必ず入力する必要があります。0 から始まる列の数値インデックスを入力することもできます。小文字を入力すると、システムは自動的に大文字に変換します。シート名をエクスポートすることを選択した場合、ソース序数は (-) であり、変更できません。
既存の出力フィールドを管理する。
追加されたフィールドに対して次の操作を実行することもできます:
[アクション] 列で、
アイコンをクリックしてフィールドを編集します。[アクション] 列で、
アイコンをクリックしてフィールドを削除します。
JsonL ファイルのパラメーター
パラメーター
説明
基本設定
ステップ名
シナリオに基づいてコンポーネントの名前を入力します。名前は次のルールに従う必要があります:
中国語の文字、英字、アンダースコア (_)、数字のみを含めることができます。
長さは最大 64 文字です。
データソース
データソースを選択します。データソースは Dataphin で設定され、次の条件を満たす必要があります:
データソースタイプが [FTP データソース]、[SFTP データソース]、または [FTPS データソース] であること。
[属性設定] を実行するために使用されるアカウントに、データソースに対するリードスルー権限があること。アカウントに必要な権限がない場合は、権限を要求してください。詳細については、「データソース権限の要求、更新、返却」をご参照ください。
また、[データソース] の横にある [新規] をクリックして [プランニング] モジュールに移動し、データソースを追加することもできます。詳細については、「FTP データソースの作成」をご参照ください。
圧縮形式
ソースファイルが圧縮されている場合は、圧縮形式を選択します。Dataphin はファイルを解凍できます。サポートされている形式には、zip、gzip、tar.gz、bzip2、lzo、lzo-deflate、hadoop-snappy、framing-snappy があります。
説明圧縮形式として [zip] または [tar.gz] を選択した場合は、ファイル名も設定できます。
ファイル名
圧縮パッケージ内のファイルの照合ルール。セミコロン (;) で区切って複数のルールを指定できます。ワイルドカード文字がサポートされています。たとえば、
*を指定すると、パッケージ内のすべてのファイルが読み取られます。これを空のままにすると、システムはデフォルトで*を使用します。ファイルパス
ファイルパスを入力します。セミコロン (;) で区切って複数のパスを入力できます。ワイルドカード文字がサポートされています。たとえば、
/dataphin/*はdataphinディレクトリ内のすべてのファイルを読み取ります。ファイルタイプ
[JsonL] ファイルタイプを選択します。これは解析方法を指定するものであり、ファイル名拡張子を制限するものではありません。
データ内容の開始行
コンポーネントがデータの読み取りを開始する行を設定します。デフォルト値は 1 で、最初の行から読み取りが開始されることを意味します。最初の N 行をスキップするには、このパラメーターを N+1 に設定します。
説明このパラメーターは、圧縮形式を選択した場合は効果がありません。
詳細設定
圧縮形式
ソースファイルが圧縮されている場合は、圧縮形式を選択します。Dataphin はファイルを解凍できます。サポートされている形式には、zip、gzip、bzip2、lzo、lzo-deflate、hadoop-snappy、framing-snappy があります。
完了マーカーファイルの確認
データを読み取る前にマーカーファイルが存在するかどうかをチェックします。これはデータが準備できていることを示します。この機能はデフォルトで [無効] になっています。
この機能を有効にするには、トグルをクリックしてから [チェック設定] をクリックします。
[完了マーカーファイル設定の確認] ダイアログボックスで、パラメーターを設定します。
[完了マーカーファイルパス]: チェックするマーカーファイルのパスを入力します。システムパラメーター、グローバルパラメーター、およびクロスノードパラメーターがサポートされています。例:
/${check}/dataphin。[ヘルスチェック間隔 (秒)]: 各ファイルチェックの間隔を指定します。デフォルト値は 60 秒です。
[チェック期間 (分)]: 各ファイルチェックの期間を指定します。デフォルト値は 60 分です。
重要チェック期間とデータ転送期間が合計されて、統合ノードの総実行時間が決定されます。チェック期間と実行タイムアウト設定は慎重に設定してください。チェック中にリソースが占有されます。ニーズに基づいてこれらの設定を行ってください。
チェック時間がノードのタイムアウト期間を超えると、ノードは強制的に終了されます。
[失敗処理ポリシー]: ファイルチェックが失敗した場合、データは抽出も書き込みもされません。ポリシーを [ノードを失敗させる] または [ノードを成功させる] に設定できます。
[ノードを失敗させる]: チェックが失敗した場合、システムはチェックノードを失敗に設定し、統合ノードを実行しません。
[ノードを成功させる]: チェックが失敗した場合、システムはチェックノードを成功に設定し、後続の統合ノードの実行を続行します。
[OK] をクリックして設定を保存します。
ファイルが存在しない場合
ソースファイルが存在しない場合のポリシーを指定します。サポートされているポリシーは [無視] と [ノードを失敗させる] です。このパラメーターは、[完了マーカーファイルの確認] を有効にしている場合は使用できません。
[無視]: ファイルが存在しない場合、コンポーネントはそれを無視し、他のファイルの読み取りを続行します。
[ノードを失敗させる]: ファイルが存在しない場合、ノードは終了され、失敗に設定されます。
出力フィールド
出力フィールドが表示されます。次の方法で出力フィールドを追加できます:
一度に複数の出力フィールドを追加する。
[一括追加] をクリックします。[JSON] または [TEXT] 形式でフィールドを設定できます。
JSON 形式:
// 例: [{ "startPos": 0, "endPos": 10, "name": "user_id", "type": "String" }, { "startPos": 11, "endPos": 15, "name": "user_name", "type": "String" }]TEXT 形式:
行区切り文字と列区切り文字: [TEXT] 形式でフィールドを一括追加する場合、行と列の区切り文字を設定できます。行区切り文字は、各フィールドの情報を区切るために使用されます。デフォルトは改行文字
\nで、サポートされている区切り文字には\n ; .があります。列区切り文字は、フィールド名とフィールドタイプを区切るために使用され、デフォルトはコンマ (,) です。// 例: 0,10,user_id,String 11,15,user_name,String
単一の出力フィールドを追加する。
[出力フィールドの追加] をクリックし、[ソース序数]、[フィールド] を入力し、[タイプ] を選択します。xls および xlsx ファイルの場合、ソース序数として列の大文字を必ず入力する必要があります。0 から始まる列の数値インデックスを入力することもできます。小文字を入力すると、システムは自動的に大文字に変換します。シート名をエクスポートすることを選択した場合、ソース序数は (-) であり、変更できません。
既存の出力フィールドを管理する。
追加されたフィールドに対して次の操作を実行することもできます:
[アクション] 列で、
アイコンをクリックしてフィールドを編集します。[アクション] 列で、
アイコンをクリックしてフィールドを削除します。
[確認] をクリックして、FTP 入力ウィジェットの構成を完了します。