Cloudera Imapala: Руководство начинающего / Cloudera Imapala: Tutorials for Getting Started: Set Up Some Basic .csv Tables

Английский оригинал Перевод на русский

Сожалеем, но текст оригинала доступен только зарегистрированным пользователям.

Развертывание простейших csv таблиц

nipman 18.07.14 в 09:25

0

Данный сценарий демонстрирует создание простых таблиц, знакомящий начинающих пользователей с возможностями SQL. Загрузка TAB1 и TAB2 из HDFS. Созранение выборки из таблицы TAB1 в TAB3.

nipman 18.07.14 в 09:30

0

Разместите в HDFS данные, с которыми вы хотите работать. Для этого создайте одну или несколько подпапок внутри папки user файловой системы HDFS. Данные каждой таблицы размещаются в отдельной подпапке. Используйте имя вашего существующего пользователя cloudera где необходимо. В данном примере используется опция -p для авторматического создания родительских папок если это необходимо.

nipman 18.07.14 в 09:36

0

Ниже приведены данные таблиц TAB1 и TAB2

nipman 18.07.14 в 09:38

0

Скопируйте содержимо в .csv файлы вашей локальной файловой сисетмы.

nipman 18.07.14 в 09:39

0

Скопируйте каждый .csv файл в отдельную папку в HDFS, используя команды приведенные ниже. Указанное расположение папок характерно для Impala Demo VM.

nipman 18.07.14 в 09:41

0

Именование файлов не является критичным. Фактически для подготовки данных таблицы во время первичного чтения данных папки Impala обходит все содержащиеся в ней файлы, независимо от их количество и названий.

nipman 18.07.14 в 09:45

0

Что бы понять какие папки доступны в вашей файловой системе HDFS и какие права им назначены, выполните hdfs dfs -ls / и проследуйте дальше по дереву каталогов используя команду -ls для их изучения.

nipman 18.07.14 в 09:49

0

Воспользуйтесь командой impala-shell для создания таблиц а так же выполнения sql-скритов.

nipman 18.07.14 в 09:50

0

Ниже приведен пример создания трех таблиц. Для каждой таблицы задаются колонки с разными атрибутами, в частности типами полей - Boolean и Integer. Указывается так же и формат данных (строки с полями разделенные запятыми), описывающий структуру .csv файла. Ранее мы уже разместили .csv файлы с данным в папках на HDFS, нам остается только указать путь к нужной, Impala в свою очередь извлечет содержимое из файлов и представит их виде таблицы.

nipman 18.07.14 в 11:48

0

DROP TABLE IF EXISTS tab1;
-- Выражение EXTERNAL означает, что данные расположены вне рабочей директории Impala
-- и останутся неизменными в случае удаления таблицы средствами Impala. Предполагается, что данные уже
-- существуют в папке заданной выражением LOCATION.
CREATE EXTERNAL TABLE tab1
(
id INT,
col_1 BOOLEAN,
col_2 DOUBLE,
col_3 TIMESTAMP
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION '/user/cloudera/sample_data/tab1';

nipman 18.07.14 в 11:59

0

DROP TABLE IF EXISTS tab2;
-- TAB2 - внешняя таблица как и TAB1.
CREATE EXTERNAL TABLE tab2
(
id INT,
col_1 BOOLEAN,
col_2 DOUBLE
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION '/user/cloudera/sample_data/tab2';

nipman 18.07.14 в 11:59

0

DROP TABLE IF EXISTS tab3;
-- Опускание выражения EXTERNAL означает, что при создании таблицы
-- данные будут храниться в рабочей папке Impala, в отличии от
-- существующих файлов, которые мы импортировали при
-- при создании предыдущих таблиц.
CREATE TABLE tab3
(
id INT,
col_1 BOOLEAN,
col_2 DOUBLE,
month INT,
day INT
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

nipman 18.07.14 в 12:19

0

Примечание: Успешное выполнение выражения CREATE TABLE - важный шаг, на нем происходит проверка корректности параметров Hive metastore и прав доступа HDFS. В случае возникновения ошибков при выполнении CREATE TABLE:
- убедитесь, что установка Impala прошла успешно;
- убедитесь, что папка, указанная в параметре hive.metastore.warehouse.dir доступна для записи Impala. Папка должна принадлежать hive:hive, а Impala членом группы hive.
Если значение hive.metastore.warehouse.dir отличается от указанного для Cloudera Manager и Hive, нужно пометить сервара impalad как обладающие ролью "gateway" для Hive, и исправить настройки клиента для этих серверов.

nipman 18.07.14 в 12:31

0
Минутку...