【发布时间】:2020-06-30 05:17:18
【问题描述】:
当目标表具有与当前数据框架构不同的数据类型时,数据框 saveAsTable(追加模式)会做什么。 例如:
> val df = Seq((1L,1),(2L,1),(3L,1),(456789234L,1)).toDF("i","p")
> df.printSchema
root
|-- i: long (nullable = false)
|-- p: integer (nullable = false)
> df.write.mode("append").format("hive").partitionBy("p").saveAsTable("default.ljh_test2")
现有的 hive 表是由以下人员创建的:
CREATE TABLE default.ljh_test2 (i int) PARTITIONED BY (p int) STORED AS ORC;
似乎数据框可以将数据写入配置单元表,但i 列在数据框中是bigint,但int int hive。
我想知道 spark 数据框是如何进行数据类型转换的,我在哪里可以找到他的相关文档。
谢谢。
【问题讨论】:
-
火花版本 2.3.5
标签: hive apache-spark-sql