簡體   English   中英

如何在Databricks pyspark中導入Excel文件

[英]how to import Excel file in Databricks pyspark

我正在嘗試將我的excel文件導入Azure-DataBricks機器中的PySpark,必須將其移至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'> 

在這里需要您的幫助。

此問題是由於您的Excel文件包含內部具有不同類型的列(例如數字和字符串)或某些值是空的,因此在將其轉換為熊貓數據框時會用“ NaN”填充空白例如數字列。 當無法推斷架構時,這會引起錯誤。

嘗試使用模式作為參數創建數據框。

例:

#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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM