オブジェクトストレージに保存されたクエリーデータ
概要
ネイティブ オブジェクト ストレージ (NOS) は、AWS S3、Google GCS、Azure Blob、オンプレミス実装などのオブジェクト ストレージ内のファイルに保存されたデータをクエリーできる Vantage 機能です。これは、データを Vantage に取り込むためのデータ パイプラインを構築せずにデータを探索したいシナリオで役立ちます。
前提条件
Teradata Vantage インスタンスにアクセスする必要があります。NOS は、バージョン 17.10 以降、Vantage Express から Developer、DYI、Vantage as a Service までのすべての Vantage エディションで有効になります。
Vantage のテストインスタンスが必要な場合は、 https://clearscape.teradata.com で無料でプロビジョニングできます
NOSでデータを探索する
現在、NOS は CSV、JSON (配列または改行区切りとして)、および Parquet データ形式をサポートしています。
S3バケットにCSVフ ァイルとして保存されているデータセットがあるとします。データセットをVantageに取り込むかどうかを決める前に、データセットを詳しく調べたいとします。このシナリオでは、Teradataが公開している、河川流量データを含む公開データセットを使用します。 米国地質調査所。バケットは https://td-usgs-public.s3.amazonaws.com/ にあります。
まず、サンプルの CSV データを見てみましょう。Vantage がバケットから取得する最初の 10 行を取得します。
以下のとおりです。
たくさんの数字がありますが、それらは何を意味するのでしょうか? この質問に答えるために、Vantage に CSV ファイルのスキーマを検出するように依頼します。
Vantageは、スキーマを分析するためのデータサンプルを取得し、結果を返します。
CSV ファイルには 6 つの列があることがわかります。各列には、スキーマを推測するために使用された名前、データ型、およびファイル座標が取得されます。
NOS を使用してデータをクエリーする
スキーマがわかったので、データセットを通常の SQL テーブルのように操作できます。この点を証明するために、データの集約を試してみましょう。温度を収集するサイトごとに平均温度を取得してみましょう。
結果:
アドホック探索アクティビティを永続的なソースとして登録するには、外部テーブルとして作成します。
結果:
今回は、 SELECT
ステートメントは、データベース内のテーブルに対する通常の選択のように見えます。データのクエリー時に 1 秒未満の応答時間が必要な場合は、CSV データを Vantage に取り込んで処理を高速化する簡単な方法があります。方法については、以下をお読みください。
NOSからVantageへデータをロードする
オブジェクト ストレージのクエリーには時間がかかります。データが興味深いと判断し、より迅速に回答が得られるソリューションを使用してさらに分析したい場合はどうすればよいでしょうか。幸いなことに、NOS で返されるデータは CREATE TABLE
ステートメントのソースとして使用できます。 CREATE TABLE
権限を持っていると仮定すると、次を実行できます。
重要: このクエリーでは、前の手順でデータベース Riverflow
と riverflow
という外部テーブルを作成したことを前提としています。
結果:
今回は、 SELECT
クエリーは 1 秒未満で返されました。Vantage は NOS からデータを取得する必要はなく、代わりにノード上にすでに存在するデータを使用して応答しました。
プライベートバケットにアクセスする
これまでは、パブリック バケットを使用してきました。プライベート バケットがある場合はどうでしょうか。Vantage に使用する資格情報をどのように伝えればよいでしょうか。
信頼証明をクエリーに直接インライン化することができます。
これらの認証情報を常に入力するのは面倒で、安全性も低下します。Vantage では、認証情報のコンテナとして機能する承認オブジェクトを作成できます。
これにより、外部テーブルを作成するときに認証オブジェクトを参照できるようになります。
Vantage からオブジェクト ストレージにデータをエクスポートする
これまで、オブジェクト ストレージからのデータの読み取りとインポートについて説明してきました。SQL を使用して Vantage からオブジェクト ストレージにデータをエクスポートする方法があれば便利だと思いませんか? まさにこれが WRITE_NOS
関数の目的です。riverflow_native
テーブルからオブジェクト ストレージにデータをエクスポートするとします。次のクエリでこれを行うことができます。
ここでは、Vantage に riverflow_native
からデータを取得して parquet
形式を使用して YOUR-OBJECT-STORE-URI
バケットに保存するように指示します。データは site_no
属性によってファイルに分割されます。ファイルは圧縮されます。
まとめ
このクイック スタートでは、Vantage の Native Object Storage (NOS) 機能を使用してオブジェクト ストレージからデータを読み取る方法を学習しました。NOS は、CSV、JSON、Parquet 形式で保存されたデータの読み取りとインポートをサポートしています。NOS は、Vantage からオブジェクト ストレージにデータをエクスポートすることもできます。
さらに詳しく
ご質問がある場合やさらにサポートが必要な場合は、 コミュニティフォーラム にアクセスしてサポートを受けたり、他のコミュニティ メンバーと交流したりしてください。