Создать внешний с разделом - PullRequest
4 голосов
/ 01 февраля 2012

У меня есть данные в hadoop и я создал внешнюю таблицу, используя разделы (дата и час). Создание таблицы в порядке, но когда я пытаюсь запросить данные, я не получаю никаких результатов.

Путь к файлу Hadoop -> /test/dt=2012-01-30/hr=17/testdata*

Создать заявление ->

CREATE EXTERNAL TABLE test(adate STRING,
remoteIp STRING,
url STRING,
type STRING,
ip STRING,
useragent STRING)
COMMENT 'This is the Test view table'
PARTITIONED BY(dt STRING, hr STRING)
ROW FORMAT SERDE 'com.test.serde.ValidRawDataSerDe'
STORED AS SEQUENCEFILE
LOCATION '/test';

Сообщение о создании таблицы ->

OK
Time taken: 0.078 seconds

Когда я использую запрос выбора, я не получаю результаты ->

hive> select * from test;
OK
Time taken: 0.052 seconds
hive> select * from test where dt='2008-08-09' and hr='17';  
OK

Я что-то здесь упускаю? Пожалуйста, помогите.

Ответы [ 2 ]

5 голосов
/ 01 февраля 2012

Да.Вам необходимо сообщить Hive о новом разделе.Используемая команда: ALTER TABLE ... ADD PARTITION.

1 голос
/ 15 октября 2012

Создание внешней таблицы через HIVE JDBC не отражено в хранилище данных улья.

После создания таблицы с помощью Hive JDBC, stmt.executeQuery("create external table trial5 (TOPIC STRING) row format delimited fields terminated by '' STORED as TEXTFILE LOCATION '/user/ranjitha/trial5'");,

и я пытаюсь извлечь из этого файла ничего не возвращается ...

Вот в этой ссылке: https://groups.google.com/a/cloudera.org/forum/?fromgroups#!topic/cdh-user/YTekdFtbelE, говорится, что создание внешней таблицы невозможно с использованием HIVE JDBC ..

Было бы очень полезно, если бы кто-то смог мне помочь в вышесказанном.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...