Как перенести таблицу mysql в hive?

У меня есть большая таблица mysql, которую я хотел бы перенести в таблицу Hadoop/Hive. Существуют ли стандартные команды или методы для передачи простой (но большой) таблицы из Mysql в Hive? В таблице хранятся в основном аналитические данные.

3 ответов


  1. прежде всего загрузите mysql-connector-java-5.0.8 и поместите банку в папку lib и bin Sqoop

  2. создайте определение таблицы в Hive С точные названия полей и типы как в mysql

    Sqoop и импорт параметром --verbose --поля-прекращено-по ', ' - подключение JDBC-драйвер:для MySQL://localhost в/тест-таблицы employee --улей-импорт --склад-реж /пользователей/куст/склад --поля-прекращено-по ',' --сплит-идентификатор --улей-стол сотрудник

test-имя базы данных

employee - имя таблицы (присутствует в тесте)

/ user/hive / warehouse - каталог в HDFS, где данные должны быть импортированы

--split-by id-id может быть первичным ключом таблицы 'employee'

--hive-table employee - таблица сотрудников, определение которой присутствует в Hive

Sqoop Руководство Пользователя (один из лучших руководство по обучению Sqoop)



Apache Sqoop - это инструмент, который решает эту проблему:

Apache Sqoop (TM) - это инструмент, предназначенный для эффективной передачи массовых данных между Apache Hadoop и структурированными хранилищами данных, такими как реляционные базы данных.