FTP 入力ウィジェットは、FTP サーバーからビッグデータプラットフォームに関連付けられたストレージシステムへのデータ転送を容易にし、データ統合とさらなる処理を可能にします。このトピックでは、FTP 入力ウィジェットを設定する手順について説明します。
前提条件
FTP データソースを正常に作成していること。詳細については、「FTP データソースの作成」をご参照ください。
FTP 入力ウィジェットのプロパティを設定するには、アカウントにデータソースのリードスルー権限が必要です。必要な権限がない場合は、データソースから取得する必要があります。詳細については、「データソース権限の要求、更新、および返却」をご参照ください。
手順
Dataphin ホームページで、トップメニューバーに移動し、[開発] > [data Integration] を選択します。
統合ページの上部で、[プロジェクト] を選択します(開発-本番モードでは環境を選択する必要があります)。
左側のナビゲーションウィンドウで [バッチパイプライン] をクリックし、[バッチパイプライン] リストで、開発する [オフラインパイプライン] をクリックして構成ページにアクセスします。
右上隅にある [コンポーネントライブラリ] をクリックして、[コンポーネントライブラリ] パネルを開きます。
[コンポーネントライブラリ] パネルの左側のナビゲーションウィンドウで、[入力] を選択します。右側の入力ウィジェットリストで [FTP] コンポーネントを見つけて、キャンバスにドラッグします。
FTP 入力ウィジェットカードの
アイコンをクリックして、[FTP] [入力構成] ダイアログボックスを開きます。
[FTP 入力構成] ダイアログボックスで、必要なパラメーターを設定します。
FTP 入力ウィジェットは、[ファイルの種類] として [テキスト]、[CSV]、[CSV]、[xls] などをサポートしています。ファイルの種類によって必要な構成が異なり、以下で詳しく説明します。
テキストおよび CSV パラメーターの構成手順
パラメーター
説明
基本設定
ステップ名
現在のウィジェットの利用シナリオに基づいて名前を入力します。命名規則は次のとおりです。
中国語、英字、アンダースコア (_)、数字のみ使用できます。
64 文字を超えることはできません。
データソース
データソースを選択します。Dataphin システムで構成されているデータソースを選択します。データソースは、次の 2 つの条件を満たしている必要があります。
データソースタイプは、[FTP データソース]、[SFTP データソース]、または [FTPS データソース] です。
[属性構成] を実行するアカウントは、データソースに対するリードスルー権限を持っている必要があります。権限がない場合は、データソース権限をリクエストする必要があります。詳細については、「データソース権限のリクエスト、更新、および返却」をご参照ください。
[データソース] の後に [新規] をクリックして管理センターモジュールに入り、データソースを追加することもできます。詳細については、「FTP データソースの作成」をご参照ください。
ファイルパス
ファイルパスを入力します。セミコロン (;) で区切って複数のファイルパスを指定できます。また、ワイルドカード文字もサポートされています。たとえば、
/dataphin/*
を指定すると、dataphin
ディレクトリの下流にあるすべてのファイルが読み取られます。ファイルの種類
テキスト ファイルまたは CSV ファイルの種類を選択します。
完了ファイル チェックのマーク
読み取り前にファイルデータの読み取り準備ができているかどうかを確認するには、完了ファイル チェックのマークを付けます。デフォルトは [オフ] です。
有効にした後、[構成の確認] をクリックします。
[完了ファイル チェック構成のマーク] ダイアログボックスで、チェックパラメーターを構成します。
完了ファイルパスをマークする: チェック対象の完了ファイルのパスを入力します。システムパラメーター、グローバルパラメーター、およびクロスノードパラメーターがサポートされています。たとえば、
/${check}/dataphin
です。チェック間隔(秒): 各ファイルチェックの間隔時間を入力します。デフォルトは 60 秒 です。
チェック期間(分): 各ファイルチェックの期間を入力します。デフォルトは 60 分 です。
重要チェック期間とデータ転送期間は、統合タスクの実行時間として一緒に計算されます。チェック期間と実行タイムアウト構成に注意してください。チェック期間中はリソースが占有されるため、適切に構成してください。
チェック時間がタスクのタイムアウトを超えた場合、タスクは強制終了されます。
チェック失敗時の処理ポリシー: ファイルチェックタスクが失敗した後、データの抽出と書き込みは実際には実行されません。ファイルチェックタスクの失敗の処理ポリシーでは、タスクを失敗として設定することと、タスクを成功として設定することがサポートされています。タスクを成功として設定する。
タスクを失敗に設定: チェックが失敗すると、システムはチェックタスクを失敗ステータスに設定し、統合タスクは実行されません。
タスクを成功に設定: チェックが失敗すると、システムはチェックタスクを成功ステータスに設定し、後続の統合タスクの実行を続行します。
[確認] をクリックして、完了ファイル チェック構成のマークを完了します。
ファイルが存在しない場合
無視 ポリシーと タスクを失敗に設定 ポリシーをサポートしています。マーク完了ファイル チェックが有効になっている場合、ファイルが存在しない場合の構成はサポートされていません。
無視: 読み取られるファイルが存在しない場合、ファイルを無視して他のファイルの読み取りを続けます。
タスクを失敗に設定: 読み取られるファイルが存在しない場合、タスクを終了し、失敗に設定します。
データコンテンツの開始行
入力ウィジェットがデータを読み取る開始行を設定します。デフォルトは 1 で、最初の行からデータコンテンツとして開始します。最初の N 行を無視する必要がある場合は、データコンテンツの開始行を N+1 に設定します。
[詳細設定]
[分割方法]
テキストは [区切り文字による分割] と [フィールド長の分割] をサポートし、CSV は [区切り文字による分割] をサポートします。
[区切り文字による分割]: 行とフィールドは、[フィールド区切り文字] と [行区切り文字] に基づいて分割されます。
[フィールド長の分割]: ファイルの各行は長い文字列として扱われ、フィールドは開始文字と終了文字の位置に基づいて抽出されます。
[フィールド区切り文字]
分割方法が区切り文字分割の場合、ファイルストレージのフィールド区切り文字を入力する必要があります。入力しない場合、システムはデフォルトでカンマ (,) をフィールド区切り文字として使用します。
行区切り記号
分割方法が [フィールド長の分割] の場合、[行区切り記号] の構成はサポートされていません。入力しない場合、システムはデフォルトで改行 (\n) を行区切り記号として使用します。ファイルの種類がテキストの場合、行区切り記号と
textReaderConfig
の追加構成の両方を構成することはサポートされていません。ファイル エンコーディング
ファイル エンコーディングを選択します。システムは、UTF-8 や GBK などの ファイル エンコーディング をサポートしています。
[NULL 値の変換]
ソースデータ内の文字列を NULL で置き換える NULL を表す文字列を構成します。このパラメーターが構成されていない場合、ソースデータは特別に処理されません。
圧縮形式
ファイルが圧縮されている場合は、Dataphin で解凍するための対応する圧縮形式を選択します。サポートされている圧縮形式には、zip、gzip、bzip2、lzo、lzo-deflate、hadoop-snappy、および framing-snappy が含まれます。
[詳細設定]
データ読み取り用のその他のコントロール設定項目を入力します。たとえば、
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 つはフィールド名とフィールドの種類を示します。たとえば、TEXT 形式
0,10,user_id,String
は、ファイルの各行の 1 文字目から 11 文字目までがフィールドとして導入され、フィールド名はuser_id
、フィールドの種類はString
であることを示します。[フィールドの長さ別に指定]: 最初の数字はフィールドの長さを示し、最後の 2 つはフィールド名とフィールドの種類を示します。たとえば、TEXT 形式
11,user_id,String
は、長さが 11 のフィールドが導入され、フィールド名はuser_id
、フィールドの種類はString
であることを示します。次のフィールドは、前のフィールドの後の最初の文字から長さを計算し始めます。
[行区切り記号]、[列区切り記号]: 一括追加の [フォーマット] が [TEXT] の場合、行区切り記号と列区切り記号の構成がサポートされます。行区切り記号は各フィールドの情報を区切るために使用され、デフォルトは改行
\n
で、\n ; .
をサポートしています。列区切り記号はフィールド名とフィールドの種類を区切るために使用され、デフォルトはカンマ (,) です。
分割効果のプレビュー。
ファイルの種類が [テキスト] で、分割方法が [フィールド長の分割] の場合、分割効果のプレビューがサポートされます。
[分割効果のプレビュー] をクリックします。
分割効果のプレビュー ダイアログ ボックスで、テスト文字列を入力し、[テスト] をクリックして分割効果を表示します。
新しい出力フィールドの作成。
[新しい出力フィールドの作成] をクリックし、ページのプロンプトに従って [ソース序数]、[フィールド] を入力し、[種類] を選択します。テキスト ファイルと CSV ファイルの種類の場合、ソース序数は、フィールドが配置されている列の数値序数 (0 から開始) を 入力する必要があります。
出力フィールドの管理。
追加されたフィールドに対して、次の操作を実行できます。
[アクション] 列の
アイコンをクリックして、既存のフィールドを編集します。
[アクション] 列の
アイコンをクリックして、既存のフィールドを削除します。
Xls および Xlsx パラメーター構成手順
パラメーター
説明
[ステップ名]
現在のウィジェットの利用シナリオに応じて名前を入力します。命名規則は次のとおりです。
使用できるのは、漢字、英字、アンダースコア(_)、および数字のみです。
64 文字を超えることはできません。
[データソース]
データソースを選択します。Dataphin システムで構成されているデータソースを選択してください。データソースは、次の 2 つの条件を満たしている必要があります。
データソースタイプは、[FTP データソース]、[SFTP データソース]、または [FTPS データソース] です。
[属性構成] を実行するアカウントには、データソースに対するリードスルー権限があります。権限がない場合は、データソース権限をリクエストする必要があります。詳細については、「データソース権限のリクエスト、更新、および返却」をご参照ください。
[データソース] の後にある [新規] をクリックして計画モジュールに入り、データソースを追加することもできます。詳細については、「FTP データソースの作成」をご参照ください。
[ファイルパス]
ファイルパスを入力します。複数のファイルパスがサポートされており、セミコロン(;)で区切ります。ワイルドカード文字がサポートされています。たとえば、
/dataphin/*
を指定すると、dataphin
ディレクトリのすべてのダウンストリームファイルが読み取られます。[ファイルタイプ]
xls または xlsx ファイルタイプを選択します。
[マーク完了ファイルチェック]
ファイルデータを読み取る前に読み取り可能かどうかを確認するには、マーク完了ファイルチェックをオンにします。デフォルトは [オフ] です。
有効にした後、[構成の確認] をクリックします。
[マーク完了ファイルチェック構成] ダイアログボックスで、チェックパラメーターを構成します。
マーク完了ファイルパス: チェックするマーク完了ファイルのパスを入力します。システムパラメーター、グローバルパラメーター、およびクロスノードパラメーターがサポートされています。たとえば、
/${check}/dataphin
です。チェック間隔(秒): 各ファイルチェックの間隔時間を入力します。デフォルトは 60 秒 です。
チェック期間(分): 各ファイルチェックの期間を入力します。デフォルトは 60 分 です。
重要チェック期間とデータ転送期間は、統合タスクの実行時間として一緒に計算されます。チェック期間と実行タイムアウト構成に注意してください。チェック期間中はリソースが占有されるため、適切に構成してください。
チェック時間がタスクのタイムアウトを超えた場合、タスクは強制終了されます。
チェック失敗時の処理ポリシー: ファイルチェックタスクが失敗した後、データの抽出と書き込みは実際には実行されません。ファイルチェックタスクの失敗の処理ポリシーでは、タスクを失敗として設定 および タスクを成功として設定 がサポートされています。タスクを成功として設定する。
タスクを失敗に設定: チェックが失敗した後、システムはチェックタスクを失敗ステータスに設定し、統合タスクは実行されません。
タスクを成功に設定: チェックが失敗した後、システムはチェックタスクを成功ステータスに設定し、後続の統合タスクの実行を続行します。
[確認] をクリックして、マーク完了ファイルチェック構成を完了します。
ファイルが存在しない場合
無視 および タスクを失敗に設定 ポリシーをサポートしています。マーク完了ファイルチェックが有効になっている場合、ファイルが存在しない場合の構成はサポートされていません。
[無視]: 読み取られるファイルが存在しない場合、ファイルを無視して他のファイルの読み取りを続行します。
[タスクを失敗に設定]: 読み取られるファイルが存在しない場合、タスクを終了して失敗に設定します。
シート選択
名前別 および インデックス別 の方法をサポートしています。複数のシートを読み取る場合、データ形式は一致している必要があります。
シート名: 複数のシートを読み取ることができ、コンマ(,)で区切るか、
*
を入力してすべてのシートを読み取ることができます。*
とコンマを混在させることはできません。たとえば、sheet1,sheet2
です。シートインデックス: 複数のシートを読み取ることができ、コンマ(,)で区切るか、
*
を入力してすべてのシートを読み取ることができます。*
とコンマを混在させることはできません。たとえば、0,3,7-9
を使用して、単一または連続したシートを指定できます。
データコンテンツ開始行
入力ウィジェットがデータを読み取る開始行を設定します。デフォルトは 1 で、最初の行からデータコンテンツとして開始します。最初の N 行を無視する必要がある場合は、データコンテンツ開始行を N+1 に設定します。
データコンテンツ終了行
行数が指定されていない場合は、データの最後の行まで読み取ります。データコンテンツ終了行 は、データコンテンツ開始行 以上である必要があります。
エクスポートシート名
エクスポート または エクスポートしない を選択できます。エクスポート を選択すると、エクスポートフィールドが追加され、フィールドコンテンツは行データのソースシート名になります。
ファイルエンコーディング
ファイルエンコーディングを選択します。システムは、UTF-8 や GBK などの ファイルエンコーディング をサポートしています。
[NULL 値変換]
NULL を表す文字列を構成して、ソースデータ内の文字列を NULL に置き換えます。このパラメーターが構成されていない場合、ソースデータは特別に処理されません。
圧縮形式
ファイルが圧縮されている場合は、Dataphin が解凍するための対応する圧縮形式を選択します。サポートされている圧縮形式には、zip、gzip、bzip2、lzo、lzo-deflate、hadoop-snappy、および framing-snappy が含まれます。
出力フィールド
出力フィールドが表示されます。出力フィールドを手動で追加できます。
出力フィールドの一括追加。
[一括追加] をクリックすると、[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 入力ウィジェットの構成を完了します。