avpath - ロケーションパス - Cloud

Talend Cloud Pipeline Designerユーザーガイド

EnrichVersion
Cloud
EnrichProdName
Talend Cloud
EnrichPlatform
Talend Pipeline Designer
task
ジョブデザインと開発 > パイプラインのデザイン
デプロイメント > デプロイ中 > パイプラインの実行
データガバナンス > データのフィルタリング
データクオリティとプレパレーション > データのフィルタリング
データクオリティとプレパレーション > データセットの管理
管理と監視 > ログの監視
管理と監視 > 実行の監視
avpathでアイテムを選択するには、ロケーションパスを使用します。ロケーションパスは、1つ以上のロケーションステップで構成されます。
  • ロケーションステップは、1つのドットまたは2つのドットで始めます:

    構文

    ロケーション

    .property

    コンテキストアイテムの直下でプロパティを探します

    ..property

    コンテキストアイテムの下の階層からプロパティを探します

    で参照してください。

    コンテキストアイテム自体を探します

  • プロパティの正確な名前の代わりにワイルドカード記号を使用できます:

    構文

    ロケーション

    .*

    コンテキストアイテムの直下ですべてのプロパティを探します

    ..*

    コンテキストアイテムの下の階層からすべてのプロパティを探します

  • avpathを使用すると、いくつかのプロパティを結合できます:

    構文

    ロケーション

    (.property1 | .property2 | .propertyN)

    コンテキストアイテムの直下でproperty1、property2、propertyNを探します

    (.property1 | .property2.property2_1.property2_1_1)

    locates .property1、.property2.property2_1.property2_1_1 items

ロケーションパスには、絶対パスまたは相対パスを使用できます。ロケーションパスがルート(^)で始まり、絶対ロケーションパスを使用している場合、ロケーションパスはルートアイテムから始めます。

Avroデータの例(サブレコード - クライアントのリストを含むAvroレコード):

var doc =
"""
  {
    "customers" : [
      {
        "id": "1",
        "Firstname": "Quentin",
        "Lastname": "Novo",
        "Address": { "Street" : "South Roosevelt Drive" },
        "RegistrationDate": "20/01/2015",
        "Revenue": "55239",
        "States": "AZ"
      },
      {
        "id": "2",
        "Firstname": "Kip",
        "Lastname": "Von Celaeno",
        "Address": { "Street" : "Carpinteria Avenue" },
        "RegistrationDate": "19/05/2016",
        "Revenue": "78148",
        "States": "NC"
      },
      {
        "id": "3",
        "Firstname": "Beau",
        "Lastname": "Dash",
        "Address": { "Street" : "Corona Del Mar" },
        "RegistrationDate": "28/09/2009",
        "Revenue": "77912",
        "States": "CT"
      }
    ]
  };
"""

ロケーションパスの例:

// find all customers addresses
avpath.select(doc, ".customers.Address")
// [{ Street : 'South Roosevelt Drive' }, { Street : 'Carpinteria Avenue' }, { Street : 'Corona Del Mar' }]

// find all customers address streets
avpath.select(doc, ".customers.Address.Street")
// ['South Roosevelt Drive', 'Carpinteria Avenue', 'Corona Del Mar' ]

// find all streets in customers*
avpath.select(doc, ".customers..Street")
// ['South Roosevelt Drive', 'Carpinteria Avenue', 'Corona Del Mar' ]