Apache spark 我可以在Spark数据帧中使用循环吗
我的数据如下所示Apache spark 我可以在Spark数据帧中使用循环吗,apache-spark,spark-dataframe,pyspark-sql,Apache Spark,Spark Dataframe,Pyspark Sql,我的数据如下所示 Store ID Amount,... 1 1 10 1 2 20 2 1 10 3 4 50 我必须为每个商店创建单独的目录 Store 1/accounts ID Amount 1 10 2 20 store 2/accounts directory: ID Amount 1 10 为此,我可以在Spark数据帧中使用循环。它在本地机器上工作。在集群中会有问题吗 while storecount<=50
Store ID Amount,...
1 1 10
1 2 20
2 1 10
3 4 50
我必须为每个商店创建单独的目录
Store 1/accounts
ID Amount
1 10
2 20
store 2/accounts directory:
ID Amount
1 10
为此,我可以在Spark数据帧中使用循环。它在本地机器上工作。在集群中会有问题吗
while storecount<=50:
query ="SELECT * FROM Sales where Store={}".format(storecount)
DF =spark.sql(query)
DF.write.format("csv").save(path)
count = count +1
是的,您可以在这里运行循环,因为它不是数据帧上的嵌套操作。
不允许对RDD或数据帧执行嵌套操作,因为Spark上下文不可序列化 是的,您可以在这里运行循环,因为它不是数据帧上的嵌套操作。
不允许对RDD或数据帧执行嵌套操作,因为Spark上下文不可序列化 如果我正确理解了这个问题,那么您真正想要做的就是在数据帧中进行分区 我建议这样做
df.write.partitionBy("Store").mode(SaveMode.Append).csv("..")
这将把数据帧写入几个分区,如
store=2/
store=1/
....
如果我正确理解了这个问题,那么您真正想要做的就是在数据帧中进行分区 我建议这样做
df.write.partitionBy("Store").mode(SaveMode.Append).csv("..")
这将把数据帧写入几个分区,如
store=2/
store=1/
....
您可以根据您的需要调整此解决方案:您可以根据您的需要调整此解决方案:您是正确的。分区解决了我的问题。谢谢,有什么方法可以控制分区内形成的零件文件的数量吗?检查这个问题是否正确。分区解决了我的问题。谢谢,有什么方法可以控制分区内形成的零件文件的数量吗?检查这个问题