[ https://issues.apache.org/jira/browse/SPARK-16449?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jeff Levy updated SPARK-16449: ------------------------------ Description: Goal: Take the output from `describe` on a large DataFrame, then use a loop to calculate `skewness` and `kurtosis` from pyspark.sql.functions for each column, build them into a DataFrame of two rows, then use `unionAll` to merge them together. Issue: Despite having the same column names, in the same order with the same dtypes, the `unionAll` fails with "Task not serializable". However, if I build two test rows using dummy data then `unionAll` works fine. Also, if I collect my results then turn them straight back into DataFrames, `unionAll` succeeds. Step-by-step code and output with comments can be seen here: https://github.com/UrbanInstitute/pyspark-tutorials/blob/master/unionAll%20error.ipynb The issue appears to be in the way the loop in code block 6 is building the rows before parallelizing, but the results look no different from the test rows that do work. I reproduced this on multiple datasets, so downloading the notebook and pointing it to any data of your own should replicate it. was: Goal: Take the output from `describe` on a large DataFrame, then use a loop to calculate `skewness` and `kurtosis` from pyspark.sql.functions for each column, build them into a DataFrame of two rows, then use `unionAll` to merge them together. Issue: Despite having the same column names, in the same order with the same dtypes, the `unionAll` fails with "Task not serializable". However, if I build two test rows using dummy data then `unionAll` works fine. Also, if I collect my results then turn them straight back into DataFrames, `unionAll` succeeds. Step-by-step code and output with comments can be seen here: https://github.com/UrbanInstitute/pyspark-tutorials/blob/master/unionAll%20error.ipynb The issue appears to be in the way the loop in code block 6 is building the rows before parallelizing, but the results look no different from the test rows that do work. > unionAll raises "Task not serializable" > --------------------------------------- > > Key: SPARK-16449 > URL: https://issues.apache.org/jira/browse/SPARK-16449 > Project: Spark > Issue Type: Bug > Components: PySpark > Affects Versions: 1.6.1 > Environment: AWS EMR, Jupyter notebook > Reporter: Jeff Levy > Priority: Minor > > Goal: Take the output from `describe` on a large DataFrame, then use a loop > to calculate `skewness` and `kurtosis` from pyspark.sql.functions for each > column, build them into a DataFrame of two rows, then use `unionAll` to merge > them together. > Issue: Despite having the same column names, in the same order with the same > dtypes, the `unionAll` fails with "Task not serializable". However, if I > build two test rows using dummy data then `unionAll` works fine. Also, if I > collect my results then turn them straight back into DataFrames, `unionAll` > succeeds. > Step-by-step code and output with comments can be seen here: > https://github.com/UrbanInstitute/pyspark-tutorials/blob/master/unionAll%20error.ipynb > The issue appears to be in the way the loop in code block 6 is building the > rows before parallelizing, but the results look no different from the test > rows that do work. I reproduced this on multiple datasets, so downloading > the notebook and pointing it to any data of your own should replicate it. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org