Отображение неверного количества после импорта таблицы в Hive - PullRequest
7 голосов
/ 08 февраля 2012

Я импортировал около 10 таблиц в Hive из MS SQL Server. Но когда я пытаюсь провести перекрестную проверку записей в Hive в одной из таблиц, я обнаружил больше записей при выполнении запроса (выберите count (*) из tblName;).

Затем я сбросил эту таблицу и снова импортировал ее в Hive. Я наблюдал в журналах консоли, что (получено 203 записи). А затем я снова попытался (выберите count (*) из tblName;) и получил значение 298.

Я не понимаю, почему это происходит. Что-то не так в запросе или это происходит из-за неправильной команды sqoop-import.

Все остальные записи в таблице в порядке.

Пожалуйста, помогите мне из этого.

1 Ответ

7 голосов
/ 09 февраля 2012

Я получил решение этой проблемы из списка рассылки, и я хотел бы поделиться им. Их ответ звучал так:

В прошлом мы сталкивались с подобной проблемой - в таблице в кусте больше строк, чем, как сообщалось, было импортировано sqoop и которые фактически были доступны в базе данных.

Описанная проблема с нашей стороны заключалась в неправильных символах в экспортированных данных, которые разбивали строки в экспортированном тестовом CSV-файле. Например, некоторые из наших строк содержали данные с символами новой строки. Поскольку несколько экспортированных строк были разбиты на несколько строк, количество строк улья оказалось больше, чем число импорта. Возможно, вы столкнулись с подобной проблемой. Мы решили проблему с помощью параметра --hive-drop-import-delims (или вы можете использовать --hive-delims-replacement). Для семантики и использования, пожалуйста, обратите внимание на руководство:

http://incubator.apache.org/sqoop/docs/1.4.0-incubating/SqoopUserGuide.html#id1765770

Спасибо

...