例: AvroContainerSplitの使用 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - DATASETデータ型

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/des1556232910526.ditamap
dita:ditavalPath
ja-JP/des1556232910526.ditaval
dita:id
B035-1198
Product Category
Software
Teradata Vantage

次の例では、Avroオブジェクト コンテナ内のファイルを表わすBLOBのテーブルにAvroContainerSplitを使用しています。

/* Create a table that contains the container objects */
CREATE TABLE containers(id INTEGER, container BLOB);

/* Load one or more containers into the containers table via
   the utility of your choice. */

/* Create a table that will receive the individual Avro objects
   from the AvroContainerSplit table operator. */
CREATE TABLE avro_table(
    container_id INTEGER,
    avro_id      INTEGER,
    avro_val     DATASET(8000) STORAGE FORMAT AVRO);

/* Invoke the table operator to split up the container. */
INSERT INTO avro_table
SELECT T.out_container_id, T.avro_object_id, T.avro_value
FROM AvroContainerSplit (ON (SELECT id, container FROM containers)) T;

/* Select out the individual Avro values in the JSON format. */
SELECT container_id, avro_id, avro_val.ToJson()
FROM avro_table
ORDER BY container_id, avro_id;