CREATE EXTERNAL TABLE
Вызов CREATE EXTERNAL TABLE создает внешнюю таблицу с указанной схемой данных.
CREATE EXTERNAL TABLE table_name (
column1 type1,
column2 type2 NOT NULL,
...
columnN typeN NULL
) WITH (
DATA_SOURCE="data_source_name",
LOCATION="path",
FORMAT="format_name",
COMPRESSION="compression_name"
);
Где:
column1 type1,columnN typeN NULL- колонка данных и ее тип;data_source_name- имя подключения к S3 (Object Storage).path- путь внутри бакета с данными. Путь должен вести на существующий каталог внутри бакета.format_name- один из допустимых типов хранения данных.compression_name- один из допустимых алгоритмов сжатия.
Допускается использование только ограниченного подмножества типов данных:
Bool.Int8,Uint8,Int16,Uint16,Int32,Uint32,Int64,Uint64.Float,Double.Date,DateTime.String,Utf8.
Без дополнительных модификаторов колонка приобретает опциональный тип тип, и допускает запись NULL в качестве значений. Для получения неопционального типа необходимо использовать NOT NULL.
Пример
Cледующий SQL-запрос создает внешнюю таблицу с именем s3_test_data, в котором расположены файлы в формате CSV со строковыми полями key и value, находящиеся внутри бакета по пути test_folder, при этом для указания реквизитов подключения используется объект подключение bucket:
CREATE EXTERNAL TABLE s3_test_data (
key Utf8 NOT NULL,
value Utf8 NOT NULL
) WITH (
DATA_SOURCE="bucket",
LOCATION="folder",
FORMAT="csv_with_names",
COMPRESSION="gzip"
);
Была ли статья полезна?
Предыдущая
Следующая