始める前に
ソースデータを保管するシステムへの接続が作成済みであること。
ソースデータを保管するデータセットが追加済みであること。
ここでは、乗車時刻、降車時刻、運賃などの階層タクシーデータを表示します(このページの左側のパネルにある[Downloads] (ダウンロード)タブからtype_converter-taxi.jsonファイルをダウンロードします)。
接続および処理済みデータを保管する関連データセットも作成済みであること。
ここでは、ファイルはHDFSに保存されているものとします。
手順
- [Pipelines] (パイプライン)ページで[ADD PIPELINE] (パイプラインの追加)をクリックします。新しいパイプラインが開きます。
- パイプラインに意味のある名前を付けます。
例え
Convert Small Taxi Rides - [ADD SOURCE] (ソースの追加)をクリックしてパネルを開くと、ソースデータを選択できます。ここでは、タクシー関連のデータを使用します。
例え
警告: Type converterプロセッサーはサブレコードを処理できません。これらのレコードを変換するには、事前にField selectorプロセッサーを使用してレコードを再編成し、スキーマの上に置く必要があります。 -
データセットを選択し、[SELECT] (選択)をクリックしてパイプラインに追加します。
必要であれば名前を変更します。
-
をクリックし、パイプラインにField selectorプロセッサーを追加します。設定パネルが開きます。
- プロセッサーに意味のある名前を付けます。
例え
reorganize records - [SELECTORS] (セレクター)エリアで次の操作を行います。
- 最初の場所のpickup_datetimeフィールドを選択して名前を変更し、スキーマのトップレベルに移動する場合は、[Input] (入力)リストに.pickup.pickup_datetimeと、[Output] (出力)リストにpickup_timeと入力します。
- 最初の場所のdropoff_datetimeフィールドを選択して名前を変更し、スキーマのトップレベルに移動する場合は、[NEW ELEMENT] (新規エレメント)を追加し、[Input] (入力)リストに.dropoff.dropoff_datetimeと、[Output] (出力)リストにdropoff_timeと入力します。
- 最初の場所のfare_amountフィールドを選択して名前を変更し、スキーマのトップレベルに移動する場合は、[NEW ELEMENT] (新規エレメント)を追加し、[Input] (入力)リストに.payment.fare_amountと、[Output] (出力)リストにfareと入力します。
例え
- [Save] (保存)をクリックして設定を保存します。
-
をクリックし、パイプラインにType converterプロセッサーを追加します。設定パネルが開きます。
- プロセッサーに意味のある名前を付けます。
例え
運賃を変換する - [CONVERTERS] (コンバーター)エリアで次の操作を行います。
-
乗車時刻情報が保存されているDateTime型フィールドをInteger型フィールドに変換する場合は、[Field path] (フィールドパス)リストで.pickup_timeを、[Output type] (出力形式)リストでDateTimeを選択し、[Format] (形式)フィールドにyyyy-MM-dd HH:mm:ssと入力します。yyyy-MM-dd HH:mm:ssは入力フィールドの形式に相当します。
注: データ型とパターンの詳細は、日付と時間のパターンに関する追加情報を参照してください。
- 降車情報が保存されているDateTime型フィールドをInteger型フィールドに変換する場合は、[NEW ELEMENT] (新規エレメント)を追加し、[Field name] (フィールド名)リストで.dropoff_timeを、[Output type] (出力タイプ)リストでDateTimeを選択して、[Format] (形式)フィールドにyyyy-MM-dd HH:mm:ssと入力します。yyyy-MM-dd HH:mm:ssは入力フィールドの形式に相当します。
- 運賃情報が保存されているString型フィールドをDouble型フィールドに変換する場合は、[NEW ELEMENT] (新規エレメント)を追加し、[Field name] (フィールド名)リストで.fareを、[Output type] (出力タイプ)リストでDoubleを選択します。ヒント: 同じフィールドに複数の変換を適用することもできます。たとえば、日付を含むString型のフィールドをLong型のフィールドに変換し、生成されたこのLong型フィールドを使用してDateTime型のフィールドに変換できます。
例え
-
乗車時刻情報が保存されているDateTime型フィールドをInteger型フィールドに変換する場合は、[Field path] (フィールドパス)リストで.pickup_timeを、[Output type] (出力形式)リストでDateTimeを選択し、[Format] (形式)フィールドにyyyy-MM-dd HH:mm:ssと入力します。yyyy-MM-dd HH:mm:ssは入力フィールドの形式に相当します。
- [Save] (保存)をクリックして設定を保存します。
- パイプラインのType Converterプロセッサーの後ろにある
をクリックし、Filterプロセッサーを追加します。
- プロセッサーに意味のある名前を付けます。
例え
filter on short rides - [Filter] (フィルター)エリアで次の操作を行います。
- 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の上部のツールバーで、リストから実行プロファイルを選択します(詳細は実行プロファイルを参照してください)。
-
実行アイコンをクリックしてパイプラインを実行します。
タスクの結果
パイプラインは実行中となり、フィールドタイプは変換されてフィルタリングされ、出力フローは指定のターゲットシステムに送信されます。