例: スキーマの指定 - Teradata Database - Teradata Vantage NewSQL Engine - DATASET公開機能のための例。

Teradata Vantage™ DATASETデータ型

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/pgs1512082344257.ditamap
dita:ditavalPath
ja-JP/pgs1512082344257.ditaval
dita:id
B035-1198
Product Category
Software
Teradata Vantage

この例では、出力形式AVROのスキーマを指定します。

SELECT data.ToJson() FROM DATASET_PUBLISH
(
	ON (SELECT * FROM employeeTable) 
	RETURNS (data DATASET STORAGE FORMAT AVRO)
		USING SCHEMA 
		('
{
	"type": "array",
	"items": {
		"type": "record",
		"name": "employeeRecord",
		"fields": [
        {
            "name": "empID",
            "type": ["null","int"]
        },
        {
			"name": "empName",
			"type": ["null","string"]
		},
		{
			"name": "empDept",
			"type": ["null","string"]
		}]
	}
}
	 ')
) AS avroFiles;

data.ToJson()
[{"empID":{"int":3},"empName":{"string":"Steven Mazzo"},"empDept":{"string":"Engineering"}},{"empID":{"int":1},"empName":{"string":"George Smith"},"empDept":{"string":"Accounting"}},{"empID":{"int":2},"empName":{"string":"Pauline Kramer"},"empDept":{"string":"HR"}}]

または、出力形式CSVのスキーマを指定します。

SELECT * FROM DATASET_PUBLISH
(
	ON (SELECT * FROM employeeTable) 
	RETURNS (data DATASET STORAGE FORMAT CSV)
		USING SCHEMA 
		('{"field_delimiter":"*" , "record_delimiter" : "/",
		"field_names" : ["empIdentifier","empFullName",
						"department"] }')

) AS csvFiles;

テーブルの結果は次のとおりです。

fileSchema fileData

{

"field_delimiter":"*",

"record_delimiter":"/"

}

empIdentifier*empFullName*department/1*George Smith*Accounting/2*Pauline Kramer*HR/3*Steven Mazzo*Engineering