Как это исходит от новичка...
Я имел в Hadoop и Hive создано для меня, так что я могу выполнять запросы Hive на моем компьютере доступ к данным о реальных кластерах. Я могу выполнять запросы улей .CSV данных, хранящихся на моем компьютере, как я сделал с MS SQL сервером?
Как мне загрузить .данные CSV в улей то? Что это связано с Hadoop и в каком режиме надо запустить одну?
Какие параметры я должен заботиться о, так что если я сделал что-то не так я всегда могу вернуться и выполнять запросы на Amazon без ущерба то, что было создано для меня раньше?
Позвольте мне работать через следующие простые шаги:
Шаги:
Во-первых, создать таблицу на куст, используя имена полей в файле CSV. Допустим, например, ваш CSV-файл содержит три поля (id, имя, зарплата) и вы хотите создать таблицу в улей называется"персонал " и;. Используйте ниже код, чтобы создать таблицу в улей.
hive> CREATE TABLE Staff (id int, name string, salary double) row format delimited fields terminated by ',';
Во-вторых, теперь, когда таблица создается в улье, давайте загружать данные в CSV-файл в "персонал" и стол на куст.
hive> LOAD DATA LOCAL INPATH '/home/yourcsvfile.csv' OVERWRITE INTO TABLE Staff;
Наконец, отобразить содержимое вашу "персонал" и стол на улей, чтобы проверить, если данные были успешно загружены
hive> SELECT * FROM Staff;
Спасибо.
если у вас есть установки улья можно поставить локальный набор данных напрямую с помощью команды Загрузить куст в HDFS/С3.
Вам потребуется использовать на "местных" и сайта при написании команды load.
Синтаксис для команды hiveload
LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]
См. ниже ссылку для более подробной информации. https://cwiki.apache.org/confluence/display/Hive/LanguageManual%20DML#LanguageManualDML-Loadingfilesintotables
Есть и другой способ включения этого
использование Hadoop и HDFS -copyFromLocal для копирования .данные CSV файл со своего компьютера где-то в HDFS, сказать '/путь/имя_файла'
введите консоли Hive, выполните следующий скрипт для загрузки из файла, чтобы сделать его как таблицу Hive. Обратите внимание, что '\054' является код ASCII 'запятая' в восьмеричные числа, представляющие поля разделитель.
CREATE EXTERNAL TABLE table name (foo INT, bar STRING)
COMMENT 'from csv file'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\054'
STORED AS TEXTFILE
LOCATION '/path/filename';
Для CSV-файл данных формиат будет в ниже формат
"column1", "column2","column3","column4"
И если мы будем использовать поле расторгнут ',' каждый столбец будет значениями, как показано ниже.
"column1" "column2" "column3" "column4"
также если значение столбца запятая
, как значение, то он не будет работать вообще .
Поэтому правильный способ создания таблицы с помощью OpenCSVSerde
create table tableName (column1 datatype, column2 datatype , column3 datatype , column4 datatype)
ROW FORMAT SERDE
'org.apache.hadoop.hive.serde2.OpenCSVSerde'
STORED AS TEXTFILE ;
Вы можете попробовать это, Ниже приведены несколько примеров о том, как создаются файлы. Инструмент -- https://sourceforge.net/projects/csvtohive/?source=directory
Выберите CSV-файл, используя файл просмотреть и установить Hadoop в корневой каталог, например, /пользователей/bigdataproject/
Инструмент генерирует скрипт с Hadoop и все CSV-файлы и следующий пример созданный в Hadoop скрипт вставить CSV-файл в Hadoop
в <предварительно><код>#!/бин/баш -в<БР/> в Hadoop ФС -поставить ./AllstarFull.КШМ /пользователей/bigdataproject/AllstarFull.КШМ улей -Ф ./AllstarFull.улей<БР/>
в Hadoop ФС -поставить ./Внешние виды.КШМ /пользователей/bigdataproject/выступлений.КШМ улей -Ф ./Внешние виды.улей<БР/>
в Hadoop ФС -поставить ./AwardsManagers.КШМ /пользователей/bigdataproject/AwardsManagers.КШМ улей -Ф ./AwardsManagers.улей</пре></код>
в <предварительно><код>создавать базы данных, если не существует Лахман;<БР/> Использовать Лахман;<БР/> Создать таблицу AllstarFull (playerID строку,yearID строку,gameNum строку,gameID строку,teamID строку,lgID строку,ГП строки,startingPos строки) строки формате с разделителями полей прекращено ',' хранится в виде текстового файла;<БР/> Загрузка данных INPATH '/пользователей/bigdataproject/AllstarFull.КШМ' перезапись в таблице AllstarFull;<БР/> Выберите * от AllstarFull;</пре></код>
Спасибо Виджай