2015-03-12 3 views
3

У меня есть файл журнала, а первым столбцом будет мой раздел в таблице Hive.Spark: Hive Query

logSchemaRDD.registerTempTable("logs") 

    hiveContext.sql("insert overwrite table logs_parquet PARTITION(create_date=select ? from logs) select * from logs") 

Как построить запрос, чтобы выбрать первый столбец (помеченные как? Здесь) и убедитесь, что один я выбрал в разделе спичек второго выбора (*)?

ответ

2

Вам необходимо явно перечислять столбцы как в исходном, так и в целевом списке: в этом случае select * будет недостаточным.

insert overwrite table logs_parquet PARTITION(create_date) (col2, col3..) 
select col2,col3, .. col1 from logs 

Да, это больше работы, чтобы написать запрос - но разделяющие запросы требуют четкого отображения столбцов с разделами колонн последних.