Получение ошибки Произошла ошибка при вызове o206.toString. Трассировка при запуске скрипта pyspark - PullRequest
0 голосов
/ 25 января 2020

Я пытаюсь запустить скрипт pyspark. Я делаю параллельную обработку в этом сценарии. во время выполнения работы я получаю некоторую ошибку. Я пытаюсь запустить sql и создаю DF для вывода этого sql, а затем пытаюсь сохранить df в файл. Каждый раз, когда я получаю одну и ту же ошибку. Можете ли вы помочь мне решить эту проблему? Дайте мне знать, если вам нужна дополнительная информация.

Я использую python 3.4.2 для этого.

Код:

        query = ''
        for index,row in query_to_df_job_main.iterrows():
            query += row['query1'].strip('\"')+' union '
            print(query)
            #print(table_list)
        query = query.rstrip(' union ')
        logging.info("Query for Master job" +" " +  row['Master Job Name'] +" " +query)
        df = sqlContext.sql(query)

        print("Target:  "+row['TargetPath'] )
        print(df.printSchema())
        #count = df.count()
        #print(count)
        df.repartition(1).write.format('com.databricks.spark.csv').mode('overwrite').option("dateFormat", "MM-dd-yyyy hh:mm:ss").save(row['TargetPath'], quote='',sep='|',header='True',nullValue=None)#,compression="gzip"

Ошибка:

__str__ returned non-string (type JavaObject)
Query Execution is Failed
An error occurred while calling o194.schema. Trace:
py4j.Py4JException: Method treeString([]) does not exist
        at py4j.reflection.ReflectionEngine.getMethod(ReflectionEngine.java:318)
        at py4j.reflection.ReflectionEngine.getMethod(ReflectionEngine.java:326)
        at py4j.Gateway.invoke(Gateway.java:274)
        at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
        at py4j.commands.CallCommand.execute(CallCommand.java:79)
        at py4j.GatewayConnection.run(GatewayConnection.java:238)
        at java.lang.Thread.run(Thread.java:748)
...