Варианты импорта данных из MySql DB в MapR DB/HBase

У меня есть одна таблица в MySql, которая содержит около 24000000 записей. Мне нужен способ импортировать эти данные в таблицу в базе данных MapR с несколькими семействами столбцов. Сначала я выбрал Sqoop в качестве инструмента для импорта данных, но позже обнаружил, что не могу использовать Sqoop для прямого импорта данных, поскольку Sqoop пока не поддерживает импорт нескольких семейств столбцов. Я заполнил данные в MapR FS, используя Sqoop из базы данных MySql. Каковы мои варианты импорта этих данных из MapR FS в таблицу MapR DB с 3 семействами столбцов? Кажется, для массового импорта у меня есть два варианта:

  • Инструмент ImportTSV: для этого, вероятно, требуется, чтобы исходные данные были в формате TSV. Но данные, которые я импортировал в MapR FS из MySql с помощью Sqoop, похоже, в формате CSV. Каково стандартное решение для этого подхода?
  • Напишите пользовательскую программу Map Reduce для преобразования данных из MapR FS в HFile и загрузки их в MapR DB.

Я просто хотел убедиться, что это единственные два варианта загрузки данных. Это кажется немного ограничительным, учитывая тот факт, что такое требование является основным в любой системе. Если пользовательский Map Reduce — это то, что вам нужно, пример или рабочий образец будет действительно полезен.


person koder    schedule 30.08.2016    source источник
comment
У вас есть какие-то знания о Spark? Вы хотите импортировать напрямую или, возможно, используя временное хранилище hdfs? Я работаю над проектом репликации данных из Oracle в Hdfs, и у меня есть работающая искровая работа, которая генерирует HFiles из исходного снимка (файлы Avro на hdfs, сброшенные из Oracle с использованием sqoop).   -  person MaxNevermind    schedule 30.08.2016
comment
Ваша основная проблема в том, что вам нужно генерировать hfiles, я пытался найти рабочее решение, но не нашел его, поэтому я пишу собственное решение.   -  person MaxNevermind    schedule 30.08.2016
comment
Я еще не работал над Spark. Так что это может быть не лучший способ для меня на данный момент. Но я обязательно буду иметь это в виду. Если я хочу заполнить базу данных HBase/MapR из данных mysql, является ли единственным решением собственное задание Map Reduce?   -  person koder    schedule 01.09.2016


Ответы (1)


Создайте таблицу Hive, указывающую на MapRDB, с помощью HBaseStorageHandler. Вы можете использовать sqoop для импорта в таблицу кустов.

Если вы уже скачали данные MapRFS. Используйте команду hive load для загрузки данных в MapRDB.

person vgunnu    schedule 31.08.2016
comment
Я не очень уверен, что понимаю. На самом деле я новичок во всей экосистеме Hadoop/HBase. Можете ли вы объяснить немного больше о первом варианте? Для второго варианта я, вероятно, могу сбросить данные MySql, используя Sqoop, в MapR FS. Вы предлагаете загрузить этот дамп данных MySql из MapR FS в базу данных MapR с помощью команды загрузки Hive. Не очень уверен в роли Улья здесь. Насколько мне известно, Hive больше похож на хранилище данных в экосистеме Hadoop. В любом случае, можете ли вы предоставить какие-либо ссылки, которые могут помочь мне в том, как импортировать данные из MapR FS/HDFS в MapRDb/HBase с помощью Hive. - person koder; 01.09.2016
comment
вы можете создать таблицу Hive, указывающую на таблицу MapRDB. Если вы вставите данные в таблицу hive, она заполнит таблицу MapRDB. См. здесь интеграцию cwiki.apache.org/confluence/display/Hive/HBaseIntegration - person vgunnu; 02.09.2016