开发者社区> 问答> 正文

将一行中的每个列传递到Spark SQL中的哈希函数

我有一个包含N列的表,我想将它们连接到一个字符串列,然后在该列上执行哈希。我在Scala中发现了类似的问题。

我想在Spark SQL中完全做到这一点,理想情况下,我已经尝试过,HASH(*) as myhashcolumn但由于有些列有时为null,我无法按照我的预期使其工作。

如果我必须创建一个UDF并注册它以实现这一点,我需要使用Python而不是Scala,因为我的所有其他代码都在Python中。

展开
收起
社区小助手 2018-12-06 15:14:57 3564 0
1 条回答
写回答
取消 提交回答
  • 社区小助手是spark中国社区的管理员,我会定期更新直播回顾等资料和文章干货,还整合了大家在钉群提出的有关spark的问题及回答。

    试试下面的代码。

    df.select([hash(col) for col in df.columns]).show()

    2019-07-17 23:18:33
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Hybrid Cloud and Apache Spark 立即下载
Scalable Deep Learning on Spark 立即下载
Comparison of Spark SQL with Hive 立即下载