将垃圾公园数据框转换为熊猫数据框架

我有 pyspark 数据框的尺寸是 (28002528, 21), 并尝试使用以下代码行将其转换为熊猫数据框: pd_df=spark_df.toPandas() 我得到了此错误: 第一部分 Py4JJavaError: An error occurred while calling o170.collectToPython. : org.apache.spark.SparkException: Job aborted due to stage failure: Task 3 in stage 39.0 failed 1 times, most recent failure: Lost task 3.0 in stage 39.0 (TID 89, localhost, executor driver): java.lang.OutOfMemoryError: Java heap space at java.util.Arrays.copyOf(Arrays.java:3236) at java.io.ByteArrayOutputStream.grow(ByteArrayOutp ……

共2个回答, 标签: pandas pyspark apache-spark-2.3
Spark: 为什么 Python 在我的用例中明显优于 Scala?

这个赏金 [https://stackoverflow.com/help/bounty]已经结束。这个问题的答案有资格获得 + 100 的声誉奖励。赏金宽限期在 6 小时后结束。User10938362 [/users/10938362/user10938362]想要引起更多关注对于这个问题。 为了比较 Spark 在使用 Python 和 Scala 时的性能,我用两种语言创建了相同的作业,并比较了运行时。我预计这两个工作需要大致相同的时间,但 Python 工作只需要27min, while Scala job took 37min (almost 40% longer!). I implemented the same job in Java as well and it took 37minutes也是。这怎么可能是 Python 这么快? 最小可验证示例: Python 作业: # 配置 Conf = pyspark.SparkConf () Conf.set ("spark.hadoop.fs.s3a.aws.Creditions.provider","org.apache.hadoop. ……

共2个回答,已解决, 标签: python scala apache-spark pyspark
火花是否优化了在垃圾公园中相同但独立的 Dag?

请考虑以下垃圾公园代码 def transformed_data(spark): df = spark.read.json('data.json') df = expensive_transformation(df) # (A) return df df1 = transformed_data(spark) df = transformed_data(spark) df1 = foo_transform(df1) df = bar_transform(df) return df.join(df1) 我的问题是: 在中优化的操作是否定义为 (A), transformed_data final_view 因此只执行一次? 请注意, 此代码不等效于 df1 = transformed_data(spark) df = df1 df1 = foo_transform(df1) df = bar_transform(df) df.join(df1) (至少从 Python 的角度来看, id(df1) = id(df) 在这种情况下。 更广泛的问题是: 在优化两个 ……

共1个回答, 标签: apache-spark pyspark