Если данные в HDFS
, вам не нужно Sqoop
для заполнения таблицы Hive
. Шаги, чтобы сделать это ниже:
Это данные в HDFS
# hadoop fs -ls /example_hive/country
/example_hive/country/country1.csv
# hadoop fs -cat /example_hive/country/*
1,USA
2,Canada
3,USA
4,Brazil
5,Brazil
6,USA
7,Canada
Это создание таблицы Hive DDL
CREATE TABLE sampleone.customers
(
id int,
country string
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
Проверить, что таблица Hive пуста
hive (sampleone)> select * from sampleone.customers;
<no rows>
Таблица нагрузки Hive
hive (sampleone)> LOAD DATA INPATH '/example_hive/country' INTO TABLE sampleone.customers;
Убедитесь, что таблица Hive содержит данные
hive (sampleone)> select * from sampleone.customers;
1 USA
2 Canada
3 USA
4 Brazil
5 Brazil
6 USA
7 Canada
Примечание : При таком подходе данные перемещаются из /example_hive/country
в HDFS
в Hive
каталог хранилища (который снова будет HDFS
), поддерживающий таблицу.