【发布时间】:2017-11-29 04:19:53
【问题描述】:
我正在尝试将值插入 Hive 表,如果每一列都有一个值,则没有问题,但我需要在其中一列中插入 NULL 值。 我就是这样做的:
val errorsToAlert = List(("source1", "table1","27-01-2002", null))
val data = sqlContext.createDataFrame(errorsToAlert).toDF("source",
"table_name", "open_date", "close_date")
data.write.mode("append").saveAsTable("management.alerts")
我尝试过使用 NULL 和 None,但都表示这个错误:
17/06/26 11:59:38 错误 yarn.ApplicationMaster: 用户类抛出 例外:
scala.MatchError:scala.None.type(类 scala.reflect.internal.Types$UniqueSingleType)
scala.MatchError:scala.None.type(类 scala.reflect.internal.Types$UniqueSingleType)
【问题讨论】:
-
那是因为您的数据中只有一行 close_date 为 null,它被视为 None 类型而不是 StringType。您必须明确定义架构或在 close_date 列中添加另一行非空值。
标签: scala apache-spark dataframe hive insert