热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

typeHashPartitioner不是org.apache.spark.sql.SparkSession的成员

如何解决《typeHashPartitioner不是org.apache.spark.sql.SparkSession的成员》经验,为你挑选了1个好方法。

我使用spark-shell来试验Spark的HashPartitioner.错误如下所示:

scala> val data = sc.parallelize(List((1, 3), (2, 4), (3, 6), (3, 7)))
data: org.apache.spark.rdd.RDD[(Int, Int)] = ParallelCollectionRDD[0] at parallelize at :24

scala> val partitiOnedData= data.partitionBy(new spark.HashPartitioner(2))
:26: error: type HashPartitioner is not a member of org.apache.spark.sql.SparkSession
       val partitiOnedData= data.partitionBy(new spark.HashPartitioner(2))
                                                        ^

scala> val partitiOnedData= data.partitionBy(new org.apache.spark.HashPartitioner(2))
partitionedData: org.apache.spark.rdd.RDD[(Int, Int)] = ShuffledRDD[1] at partitionBy at :26

第三次操作有效时,第二次操作失败.为什么spark-shell会在org.apache.spark.sql.SparkSession的包中找到spark.HashPartitioner而不是org.apache.spark?



1> 小智..:

spark是一个SparkSession对象而不是org.apache.spark包.

您应该导入org.apache.spark.HashPartitioner或使用完整的类名,例如:

import org.apache.spark.HashPartitioner

val partitiOnedData= data.partitionBy(new HashPartitioner(2))


推荐阅读
author-avatar
赛亚兔备_393
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有