Tag: apache spark dataset

如何读取多个Excel文件并将它们连接成一个Apache Spark DataFrame?

最近我想从Spark Summit 2016开展Spark机器学习实验。培训video在这里 ,出口笔记本在这里。 实验室中使用的数据集可以从UCI Machine Learning Repository下载。 它包含来自燃气发电厂各种传感器的读数。 格式是带有五个工作表的xlsx文件。 要使用实验室中的数据,我需要读取Excel文件中的所有表单,并将它们连接成一个Spark DataFrame。 在培训期间,他们正在使用Databricks Notebook,但是我正在使用IntelliJ IDEA与Scala并在控制台中评估代码。 第一步是将所有的Excel工作表保存到名为sheet1.xlxs , sheet2.xlsx等单独的xlsx文件中,并将其放入工作sheets目录中。 如何读取所有Excel文件并将它们连接成一个Apache Spark DataFrame?

空值不在“org.zuinnote.spark.office.excel”包中

Dataset<Row> SourcePropertSet = sqlContext.read() .format("com.crealytics.spark.excel") .option("location", "E:\\XLS\\NEWFILE.xlsx") .option("useHeader", "false") .option("treatEmptyValuesAsNulls", "true") .option("inferSchema", "true") .option("addColorColumns", "false") .load(); SourcePropertSet = SourcePropertSet.repartition(1).select("*") .write().option("treatEmptyValuesAsNulls", "true") .format("org.zuinnote.spark.office.excel") .mode(SaveMode.Overwrite) .save("E:\\XLS\\NEWFILE1.xlsx"); 对于上面的代码,在写入xslx格式时,还有其他选项可以考虑空值。 我得到scala.MatchError:nullexception引发,如果特定的列包含任何空值。 要解决的可能的解决scheme是通过正确的逻辑代码或寻找.options或有任何其他包以.xslx格式这样做?