我有一个基于avro的外部Hive表。
| CREATE EXTERNAL TABLE `temp_avro`( |
| `string1` string COMMENT '') |
| PARTITIONED BY ( |
| `string2` string) |
| ROW FORMAT SERDE |
| 'org.apache.hadoop.hive.serde2.avro.AvroSerDe' |
| STORED AS INPUTFORMAT |
| 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat' |
| OUTPUTFORMAT |
| 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat' |
| LOCATION |
| 'hdfs://xxx/xxx/temp_avro' |
| TBLPROPERTIES ( |
| 'transient_lastDdlTime'='1503938718') |
我正在尝试使用spark写入此表:
SELECT_0_0.toDF().write.mode("append").insertInto("temp_avro")
这样,就可以在hdfs位置创建avro文件,而不使用avro扩展名(使用part-00001、part-00002等名称)。有没有办法让文件名扩展名为.avro
1条答案
按热度按时间628mspwn1#
在保存结果之前,请尝试使用coalesce将合并的部分缩减为一个