始める前に
-
ソースデータを保管するシステムへの接続が作成済みであること。
-
ソースデータを保管するデータセットが追加済みであること。
ここでは、乗車時刻、降車時刻、運賃などの階層タクシーデータを表示します(このページの左パネルにある[Downloads] (ダウンロード)タブからtype_converter-taxi.jsonファイルをダウンロードします)。
-
接続および処理済みデータを保管する関連データセットも作成済みであること。
ここでは、ファイルはHDFSに保存されているものとします。
手順
- [Pipelines] (パイプライン)ページで[Add pipeline] (パイプラインを追加)をクリックします。新しいパイプラインが開きます。
-
パイプラインに意味のある名前を付けます。
例
Convert small taxi rides -
[ADD SOURCE] (ソースを追加)をクリックしてパネルを開きます。このパネルで、ソースデータ(この場合はタクシー関連のデータ)を選択できます。
警告: Type converterプロセッサーはサブレコードを処理できません。これらのレコードを変換するには、事前にField Selectorプロセッサーを使用してレコードを再編成し、スキーマの上に置く必要があります。
-
データセットを選択し、[Select] (選択)をクリックしてパイプラインに追加できるようにします。
必要であれば名前を変更します。
- をクリックし、パイプラインにField selectorプロセッサーを追加します。設定パネルが開きます。
-
プロセッサーに意味のある名前を付けます。
例
reorganize records -
[Simple] (シンプル)選択モードでアイコンをクリックします:
- 最初の場所のpickup_datetimeフィールドを選択して名前を変更し、スキーマのトップレベルに移動させる場合は、.pickup.pickup_datetimeフィールドを選択してpickup_timeという名前を付けます。
- 最初の場所のdropoff_datetimeフィールドを選択して名前を変更し、スキーマのトップレベルに移動させる場合は、.dropoff.dropoff_datetimeフィールドを選択してdropoff_timeという名前を付けます。
- 最初の場所のfare_amountフィールドを選択して名前を変更し、スキーマのトップレベルに移動させる場合は、.payment.fare_amountフィールドを選択してfareという名前を付けます。
-
[Edit] (編集)、[Save] (保存)の順にクリックして設定を保存します。
- をクリックし、パイプラインにType converterプロセッサーを追加します。設定パネルが開きます。
-
プロセッサーに意味のある名前を付けます。
例
convert rides and fares -
[Converters] (コンバーター)エリアで次の操作を行います。
-
乗車時刻情報が保存されているDateTime型フィールドをInteger型フィールドに変換する場合は、[Field path] (フィールドパス)リストで.pickup_timeを選択し、[Primitive] (プリミティブ)モードを選択し、[Output type] (出力タイプ)リストでDateTimeを選択して、[Format] (形式)フィールドにyyyy-MM-dd HH:mm:ssと入力します。yyyy-MM-dd HH:mm:ssは入力フィールドの形式に相当します。
ヒント: データ型とパターンの詳細は、日付と時間のパターンに関する追加情報を参照してください。
- 降車時刻情報が保存されているDateTime型フィールドをInteger型フィールドに変換する場合は、+アイコンをクリックして新しいコンバーターを追加し、[Field path] (フィールドパス)リストで.dropoff_timeを選択し、[Primitive] (プリミティブ)モードを選択し、[Output type] (出力タイプ)リストでDateTimeを選択して、[Format] (形式)フィールドにyyyy-MM-dd HH:mm:ssと入力します。yyyy-MM-dd HH:mm:ssは入力フィールドの形式に相当します。
-
運賃情報が保存されているString型フィールドをDouble型フィールドに変換する場合は、+アイコンをクリックして新しいコンバーターを追加し、[Field path] (フィールドパス)リストで.fareを選択し、[Primitive] (プリミティブ)を選択し、[Output type] (出力タイプ)リストでDoubleを選択します。
ヒント: 同じフィールドに複数の変換を適用することもできます。たとえば、日付を含むString型のフィールドをLong型のフィールドに変換し、生成されたこのLong型フィールドを使えばDateTime型のフィールドに変換できます。
-
[Save] (保存)をクリックして設定を保存します。
-
乗車時刻情報が保存されているDateTime型フィールドをInteger型フィールドに変換する場合は、[Field path] (フィールドパス)リストで.pickup_timeを選択し、[Primitive] (プリミティブ)モードを選択し、[Output type] (出力タイプ)リストでDateTimeを選択して、[Format] (形式)フィールドにyyyy-MM-dd HH:mm:ssと入力します。yyyy-MM-dd HH:mm:ssは入力フィールドの形式に相当します。
- パイプラインのType Converterプロセッサーの後ろにあるをクリックし、Filterプロセッサーを追加します。
-
プロセッサーに意味のある名前を付けます。
例
filter on short rides -
[Filters] (フィルター)エリアで次の操作を行います。
- 11分未満の乗車をフィルタリングする場合は、[Input] (入力)リストに.{.dropoff_time - .pickup_time > 660000}と入力します。
- 短時間の乗車をカウントする場合は、[Optionally select a function to apply] (適用するファンクションをオプションとして選択)リストでCountを、[Operator] (オペレーター)リストで>を選択し、[Value] (値)リストに0と入力します。
-
[Save] (保存)をクリックして設定を保存します。
- (オプション) Filterプロセッサーのプレビューを表示し、フィルタリング操作後のデータを確認します。
- パイプラインで[ADD DESTINATION] (デスティネーションを追加)をクリックしてパネルを開きます。このパネルで、お使いのデータ(HDFS)を保持するデータセットを選択できます。
- 意味ある名前(short rides dataなど)を付けます。
- Talend Cloud Pipeline Designerの上部ツールバーで[Run] (実行)ボタンをクリックするとパネルが開き、実行プロファイルを選択できるようになります。
- リストで実行プロファイルを選択し(詳細は実行プロファイルをご覧ください)、[Run] (実行)をクリックしてパイプラインを実行します。
タスクの結果
パイプラインは実行中となり、フィールドタイプは変換されてフィルタリングされ、出力フローは指定のターゲットシステムに送信されます。