Как создать / скопировать данные в разделы в кусте вручную

Я работаю над решением куста, в котором мне нужно добавить некоторые значения в файлы большого объема. Таким образом, вместо того, чтобы добавить их, я пытаюсь использовать метод map-Reduce. Подход ниже

Создание таблицы:

create external table demo_project_data(data string) PARTITIONED BY (business_date string, src_sys_file_nm string, prd_typ_cd string) 
ROW FORMAT DELIMITED FIELDS TERMINATED BY '|'
LINES TERMINATED BY '\n'
LOCATION '/user/hive/warehouse/demo/project/data';


hadoop fs -mkdir -p /user/hive/warehouse/demo/project/data/business_date='20180707'/src_sys_file_nm='a_b_c_20180707_1.dat.gz'/prd_typ_cd='abcd'


echo "ALTER TABLE demo_project_data ADD IF NOT EXISTS PARTITION(business_date='20180707',src_sys_file_nm='a ch_ach_fotp_20180707_1.dat.gz',prd_typ_cd='ach')
LOCATION '/user/hive/warehouse/demo/project/data/business_date='20180707'/src_sys_file_nm='a_b_c_20180707_1.dat.gz'/prd_typ_cd='abcd';"|hive

hadoop fs -cp /apps/tdi/data/a_b_c_20180707_1.dat.gz /user/hive/warehouse/demo/project/data/business_date='20180707'/src_sys_file_nm='a_b_c_20180707_1.dat.gz'/prd_typ_cd='abcd'

echo "INSERT OVERWRITE DIRECTORY '/user/20180707'  select *,'~karthick~kb~demo' from demo_project_data where src_sys_file_nm='a_b_c_20180707_1.dat.gz' and business_date='20180707' and prd_typ_cd='abcd';"|hive

У меня есть некоторое количество данных в файле, но я не вижу результатов в приведенном выше запросе. Файлы правильно скопированы в правильном месте. Что это я делаю не так? У запроса нет проблем

Также я буду зацикливаться на нескольких датах. Я хотел бы знать, является ли это правильным способом сделать это.

1 ответ

Вы можете использовать команду ниже, чтобы получить результаты из раздела -

MSCK REPAIR TABLE <tablename>;

См,

Другие вопросы по тегам