загрузить трубу разделить CSV в улей - PullRequest
0 голосов
/ 21 декабря 2018

Я пытаюсь загрузить файл CSV, разделенный по конвейеру, в таблицу кустов, используя python, но безуспешно.Пожалуйста помогите.

Полный код:

from pyhive import hive 
host_name = "192.168.220.135" 
port = 10000 
user = "cloudera" 
password = "cloudera" 
database = "default" 
conn = hive.Connection(host=host_name, port=port, username=user, database=database) 
print('Connected to DB: {}'.format(host_name)) 
cursor = conn.cursor() 
Query = """LOAD DATA LOCAL inpath '/home/cloudera/Desktop/ccna_test/RERATING_EMMCCNA.csv' INTO TABLE python_testing fields terminated by '|' lines terminated by '\n' """ 
cursor.execute(Query)

1 Ответ

0 голосов
/ 21 декабря 2018

Исходя из вашего вопроса, я предполагаю, что формат csv подобен приведенному ниже, и вы хотите, чтобы запрос загружал данные в таблицу кустов.

значение1 | значение2 | значение3
значение4 | значение5 | значение6
значение7| value8 | value9

Сначала должна быть таблица улья, которую можно создать с помощью запроса ниже.

create table python_testing ( col1 string, col2 string, col3 string ) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde' with SERDEPROPERTIES ( "separatorChar" = "|") stored as textfile;

Обратите внимание, что символ разделителя и входной файлФормат явно указан при создании таблицы.

Также таблица хранится в формате TEXTFILE.Это связано с форматом входного файла.

Если вы хотите таблицу ORC, то входной файл должен быть в формате ORC (команда Hive 'load data' просто копирует файлы в файлы данных куста и не выполняет никаких действий.преобразования по данным).Возможный обходной путь - создать временную таблицу с STORED AS TEXTFILE, загрузить в нее данные, а затем скопировать данные из этой таблицы в таблицу ORC.

Используйте команду load для загрузки данных.

load data local inpath '/home/hive/data.csv' into table python_testing;

/ home / hive / data.csv должен быть вашим путем к файлу.

Для более подробной информации посетите блог - http://forkedblog.com/load-data-to-hive-database-from-csv-file/

...