星火:蜂巢查询

Spark: Hive Query

我有一个日志文件,第一列是我在 Hive 中的分区 table。

    logSchemaRDD.registerTempTable("logs")

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

我如何构造对 select 第一列的查询(此处标记为 ?)并确保我 select 在分区中编辑的那个与第二个 select (* )?

您需要明确枚举源列表和目标列表中的列:在这种情况下 select * 是不够的。

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

是的,编写查询需要更多工作 - 但分区查询确实需要显式映射列 和最后的分区列 .