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"
);

Где:

Допускается использование только ограниченного подмножества типов данных:

  • 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"
);
Предыдущая
Следующая