Импорт данных плоских файлов в куст без определения структуры таблицы улья
Могу ли я импортировать CSV или любые другие плоские файлы в куст без создания и определения структуры таблицы сначала в улье. Скажем, мой CSV-файл содержит 200 столбцов и должен быть импортирован в таблицу кустов. Поэтому мне нужно сначала создать таблицу в кусте и определить все имена столбцов и тип данных в этой таблице улья и выполнить импорт. Есть ли способ, с помощью которого я могу напрямую импортировать в куст, и он автоматически создает структуру таблиц из первой строки, скажем, как импорт sqoop?
2 ответа
Используйте sqoop с переключателем "hive-import", и он создаст вашу таблицу для вас http://archive.cloudera.com/cdh/3/sqoop/SqoopUserGuide.html
Проверьте свой hive-site.xml на значение свойства javax.jdo.option.ConnectionURL. Если вы не укажете это явно, значение по умолчанию будет использовать относительный путь для создания метасольвея кустов (jdbc:derby:;databaseName=metastore_db;create=true), который будет отличаться в зависимости от того, откуда вы запускаете процесс. Это объяснило бы, почему вы не можете видеть таблицу с помощью show tables.
Чтобы обойти это, можно определить это значение свойства в файле hive-site.xml, используя абсолютный путь.