CData Python Connector for Elasticsearch

Build 24.0.9062

フラット化されたドキュメントモデル

ネストされたElasticsearch のデータ全体にアクセスする必要があるユーザーにとっては、データを単一テーブルにフラット化することは最善のオプションです。このモードでは、本製品 はストリーミングを使用し、クエリごとにElasticsearch のデータを1回だけパースします。

オブジェクト配列を単一テーブルに結合

DataModel を"FlattenedDocuments" に設定すると、ネストされたドキュメントは別々のテーブルとして振る舞い、SQL JOIN と同じ方法で動作します。同じ高さのネストされたドキュメント(例えば兄弟ドキュメント)は、SQL CROSS JOIN として扱われます。

以下は、Raw データ のサンプルドキュメントに基づいたサンプルクエリとその結果です。これにより、insured ドキュメントとネストされたvehicles ドキュメントが暗黙のうちにJOIN されます。

クエリ

次のクエリは、各insured ドキュメントのネストされたドキュメントをドリルします。

SELECT
  [_id],
  [name],
  [address.street] AS address_street,
  [address.city.first] AS address_city,
  [address.state.last] AS address_state,
  [insured_ages],
  [year],
  [make],
  [model],
  [body_style],
  [_insured_id],
  [_vehicles_c_id]
FROM
  [insured]

結果

_idnameaddress_streetaddress_cityaddress_stateinsured_agesyearmakemodelbody_style_insured_id_vehicles_c_id
1John SmithMain StreetChapel HillNC[ 17, 43, 45 ]2015DodgeRAM 1500TK11
1John SmithMain StreetChapel HillNC[ 17, 43, 45 ]2015SuzukiV-Strom 650 XTMC12
1John SmithMain StreetChapel HillNC[ 17, 43, 45 ]1992Harley DavidsonFXRMC13
2Joseph NewmanOak StreetRaleighNC[ 23, 25 ]2010HondaAccordSD24
2Joseph NewmanOak StreetRaleighNC[ 23, 25 ]2008HondaCivicCP25

関連項目

  • 自動スキーマ検出:テーブルスキーマに報告されたカラムを設定します。
  • FreeForm;:ドット表記を使用して、ネストされたデータを選択します。
  • VerticalFlattening;:ネストされたオブジェクト配列に別々のテーブルとしてアクセスします。
  • JSON 関数:クライアント側の集計と変換を実行するために返されたデータを操作します。

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9062