Apache spark Spark SQl数据帧分区
我需要使用spark sql加载一个配置单元表,然后在此基础上运行一些机器学习algho。我是这样写的:Apache spark Spark SQl数据帧分区,apache-spark,apache-spark-sql,hadoop-partitioning,Apache Spark,Apache Spark Sql,Hadoop Partitioning,我需要使用spark sql加载一个配置单元表,然后在此基础上运行一些机器学习algho。我是这样写的: val dataSet = sqlContext.sql(" select * from table") 它工作得很好,但如果我想增加dataSet Dataframe的分区数,我怎么能做到呢? 使用普通RDD,我可以编写: val dataSet = sc.textFile(" .... ", N ) 有N个我想要的分区 谢谢您可以合并或重新分区生成的数据帧,即: val dataSe
val dataSet = sqlContext.sql(" select * from table")
它工作得很好,但如果我想增加dataSet Dataframe的分区数,我怎么能做到呢?
使用普通RDD,我可以编写:
val dataSet = sc.textFile(" .... ", N )
有N个我想要的分区
谢谢您可以
合并
或重新分区
生成的数据帧
,即:
val dataSet = sqlContext.sql(" select * from table").coalesce(N)
您可以
合并
或重新分区
生成的数据帧
,即:
val dataSet = sqlContext.sql(" select * from table").coalesce(N)
这是相当昂贵的手术,对吗?无论如何,应该通过加快训练步骤来减少合并开销。谢谢,是的。它涉及在集群的节点之间传输所有数据。另一个选项可能是尝试设置
spark.default.parallelism
configuration属性,但您必须尝试,我不知道它是否有效…您也可以检查此链接这是一个非常昂贵的操作,对吗?无论如何,应该通过加快训练步骤来减少合并开销。谢谢,是的。它涉及在集群的节点之间传输所有数据。另一个选项可能是尝试设置spark.default.parallelism
配置属性,但您必须尝试,我不知道它是否有效…您也可以检查此链接