2014-09-29 2 views
-1

я таблицеразделов улей таблицы на две колонки

create table stocks 
(exchange string,symbol string,date string,open float) 
partitioned by (exch string,sym string) 
clustered by (date) into 5 buckets 
row format delimited fields terminated by ','; 

мой вопрос: - как данные хранятся в HDFS? было бы 5 ведер (подкаталогов) внутри обоих разделов (всего 10 ковшей) или это будет 5 вспомогательных каталогов внутри раздела?

Я пробовал создать эту программу в Hive, но не был успешным.

+0

Добро пожаловать в SO. Интересно, где находится таблица. Было бы здорово, если бы вы могли предоставить таблицу. Тогда кто-то сможет вам помочь. – jazzurro

ответ

0

Данные, хранящиеся в HDFS, будут иметь 5 каталогов с 5 ковшей. Структура будет выглядеть следующим образом:

<hdfs_path>/date1/exch1/sym1 
<hdfs_path>/date2/exch2/sym2 
<hdfs_path>/date3/exch3/sym3 
<hdfs_path>/date4/exch4/sym4 
<hdfs_path>/date5/exch5/sym5 

this для получения более подробной информации.

0

Привет, оператор create должен выглядеть следующим образом: DATE - это зарезервированное ключевое слово в Hive, которое я считаю.

CREATE TABLE stocks(exchange STRING, symbol STRING, day STRING, open FLOAT) 
PARTITIONED BY(exch STRING, sym STRING) 
CLUSTERED BY(day) INTO 5 BUCKETS ROW FORMAT DELIMITED FIELDS TERMINATED BY ','; 

В HDFS структура каталогов будет:

/пользователь/улей/склад // запасы/day1/bucket1. Таким образом, 5 таких каталогов будут там.

Вы можете сослаться на эту ссылку, если что-то именно вы ищете

http://stackoverflow.com/questions/19128940/what-is-the-difference-between-partitioning-and-bucketing-a-table-in-hive 

Спасибо.

Смежные вопросы