首页 > 解决方案 > 在火花中将列转换为二进制数据类型

问题描述

我有一个 Spark 用例,我必须创建一个空列并转换为二进制数据类型。我尝试了以下方法,但它不起作用。当我用整数替换二进制时,它可以工作。我还尝试了 BinaryType 和 Array[Byte]。这里一定少了点什么。

val ip1 = sqlContext.read
    .parquet("/home/hadoop/work/aa/bbb/ccc/data/today")
    .toDF();
val ip2 = ip1
    .withColumn("user_hll",lit("0"))
    .select(col("start_timestamp_hr"),col("user_hll"))
    .withColumn("hll",col("user_hll").cast("Binary"))

任何帮助表示赞赏

标签: scalaapache-sparkbinary

解决方案


如果你想要一个空二进制列,你只需要:

.withColumn("hll", lit(null).cast(org.apache.spark.sql.types.BinaryType))


推荐阅读