【发布时间】:2018-12-26 07:16:53
【问题描述】:
我正在将布尔值解析为字符串,以便将它们与其他数据一起保存到csv 文件并加载到 S3。然后这些文件被加载到 RedShift。我希望布尔列包含真/假以及空值(如 NULL、N/A 或只是一个空单元格)。
在阅读了documentation 关于 RedShift 中布尔值的信息后,我决定将空值存储为 NULL。根据文档,NULL 是一个有效的布尔值。以下是我将布尔值解析为字符串的方法:
private def parseBooleans(value: Option[Boolean]): String = {
value match {
case Some(true) => "true"
case Some(false) => "false"
case None => "NULL"
}
}
但是我收到了1210 Unknown boolean format 错误。我也尝试通过“N/A”,但它也不起作用。
如何将空值传递给 RedShift 表中的布尔列?
【问题讨论】:
-
也许只是
null? -
@Dima 不幸的是它导致了同样的错误
-
我怀疑 scala 代码传递的是文字字符串“NULL”而不是实际的 null,这是错误的原因。也许您需要改用
scala.Null?
标签: scala amazon-web-services amazon-s3 amazon-redshift