как импортировать файл Excel в pyspark Databricks - PullRequest
0 голосов
/ 18 сентября 2018

Я пытаюсь импортировать мой файл Excel в PySpark на компьютере Azure-DataBricks, который мне нужно переместить в PySpark Dataframe.Я не могу выполнить это действие.Получение ошибки

import pandas
data = pandas.read_excel('/dbfs/FileStore/tables/Time_Payments.xlsx')
df_data = sqlContext.createDataFrame(data)

При выполнении вышеуказанного действия, получение ошибки ниже.

Error : field Additional Information: Can not merge type <class 'pyspark.sql.types.DoubleType'> and <class 'pyspark.sql.types.StringType'> 

Нужна ваша помощь здесь.

1 Ответ

0 голосов
/ 18 сентября 2018

Проблема вызвана тем фактом, что ваши файлы Excel содержат либо столбцы с разными типами внутри (например, числа и строки), либо некоторые значения пусты, и поэтому, превращая его в кадр данных panda, он заполняет пробел с помощью «NaN» для числового столбца, например. Которые вызывают искру к ошибке, когда не в состоянии вывести схему.

Попробуйте создать кадр данных со схемой в качестве аргумента.

Exemple:

#Create PySpark DataFrame Schema
p_schema = StructType([StructField('ADDRESS',StringType(),True),StructField('CITY',StringType(),True),StructField('FIRSTNAME',StringType(),True),StructField('LASTNAME',StringType(),True),StructField('PERSONID',DecimalType(),True)])

#Create Spark DataFrame from Pandas
df_person = sqlContext.createDataFrame(data, p_schema)

Но я бы порекомендовал использовать специальный пакет, который обрабатывает прямую загрузку файлов Excel в фрейм данных Spark, не проходя через Panda:

https://github.com/crealytics/spark-excel

...