Файловая внешняя таблица
Файловая внешняя таблица — это особый тип внешней таблицы. Она позволяет напрямую выполнять запросы к файлам данных Parquet и ORC во внешних системах хранения без загрузки данных в Selena. Кроме того, файловые внешние таблицы не зависят от metastore. В текущей версии Selena поддерживает следующие внешние системы хранения: HDFS, Amazon S3 и другие S3-совместимые системы хранения.
Эта функция поддерживается начиная с Selena v1.5.2.
- Начиная с версии 3.1 Selena поддерживает прямую загрузку данных из файлов в облачном хранилище с помощью команды INSERT и функции FILES, поэтому вам не нужно сначала создавать внешний каталог или файловую внешнюю таблицу. Кроме того, FILES() может автоматически определять схему таблицы из файлов, что значительно упрощает процесс загрузки данных.
- Функция файловых внешних таблиц была разработана для помощи в загрузке данных в Selena, а НЕ для эффективного выполнения запросов к внешним сист емам в качестве обычной операции. Более производительным решением будет загрузка данных в Selena.
Ограничения
- Файловые внешние таблицы должны создаваться в базах данных внутри default_catalog. Вы можете выполнить SHOW CATALOGS для просмотра каталогов, созданных в cluster.
- Поддерживаются только файлы данных Parquet, ORC, Avro, RCFile и SequenceFile.
- Вы можете использовать файловые внешние таблицы только для выполнения запросов к данным в целевом файле данных. Операции записи данных, такие как INSERT, DELETE и DROP, не поддерживаются.
Предварительные требования
Перед созданием файловой внешней таблицы необходимо настроить cluster Selena так, чтобы Selena могла получить доступ к внешней системе хранения, где находится целевой файл данных. Конфигурации, необходимые для файловой внешней таблицы, такие же, как и для каталога Hive, за исключением того, что вам не нужно настраивать metastore. См. Каталог Hive - Подготовка к интеграции для получения дополнительной информации о конфигурациях.
Создание базы данных (опционально)
После подключения к cluster Selena вы можете создать файловую внешнюю таблицу в существующей базе данных или создать новую базу данных для управления файловыми внешними таблицами. Чтобы просмотреть существующие базы данных в cluster, выполните SHOW DATABASES. Затем вы можете выполнить USE <db_name> для переключения на целевую базу данных.
Синтаксис создания базы данных следующий.
CREATE DATABASE [IF NOT EXISTS] <db_name>
Создание файловой внешней таблицы
После подключения к целевой базе данных вы можете создать файловую внешнюю таблицу в этой базе данных.
Синтаксис
CREATE EXTERNAL TABLE <table_name>
(
<col_name> <col_type> [NULL | NOT NULL] [COMMENT "<comment>"]
)
ENGINE=file
COMMENT ["comment"]
PROPERTIES
(
FileLayoutParams,
StorageCredentialParams
)