scala - 在火花中将列转换为二进制数据类型
问题描述
我有一个 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"))
任何帮助表示赞赏
解决方案
如果你想要一个空二进制列,你只需要:
.withColumn("hll", lit(null).cast(org.apache.spark.sql.types.BinaryType))
推荐阅读
- c++ - std::vector::reserve 允许在 push_back 之前进行随机访问
- c - 卸载功能的另一个问题,节点设置为 null 正在以某种方式重新填充
- ffmpeg - 使用ffmpeg将vobsubs刻录到MP4时设置半透明框
- python - 奇怪的填充层输出
- php - Laravel,数据更新错误。没有错误提示,但是数据没有插入数据库
- text-processing - 是否有可以将文本翻译成日期的公共服务?
- c++ - 如何将 torch::tensor 形状与其他一些形状进行比较?
- performance - 有没有利用按字母顺序排列的倒排索引的算法?
- reactjs - 反应按钮单击事件无法正常工作
- r - 使用 Caret 和食谱训练模型:错误并非食谱中的所有变量都存在