标签: spark-excel

加载 Excel 文件的强制性选项是什么?

我已经使用以下语法从 S3 加载了一个 excel 文件,但我想知道需要在此处设置的选项。

为什么必须设置以下所有选项以加载 excel 文件?这些选项都不是加载其他文件类型(如 csv、del、json、avro 等)所必需的。

val data = sqlContext.read.
format("com.crealytics.spark.excel").
option("location", s3path).
option("useHeader", "true").
option("treatEmptyValuesAsNulls", "true").
option("inferSchema","true").
option("addColorColumns", "true").
load(path)
Run Code Online (Sandbox Code Playgroud)

如果未设置上述任何选项(位置除外),我会收到以下错误:

sqlContext.read.format("com.crealytics.spark.excel").option("location", s3path).load(s3path)
Run Code Online (Sandbox Code Playgroud)

错误信息 :

Name: java.lang.IllegalArgumentException
Message: Parameter "useHeader" is missing in options.
StackTrace:   at com.crealytics.spark.excel.DefaultSource.checkParameter(DefaultSource.scala:37)
          at com.crealytics.spark.excel.DefaultSource.createRelation(DefaultSource.scala:19)
          at com.crealytics.spark.excel.DefaultSource.createRelation(DefaultSource.scala:7)
          at org.apache.spark.sql.execution.datasources.DataSource.resolveRelation(DataSource.scala:345)
          at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:149)
          at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:132)
          at $anonfun$1.apply(<console>:47)
          at $anonfun$1.apply(<console>:47)
          at time(<console>:36)
Run Code Online (Sandbox Code Playgroud)

excel scala apache-spark apache-spark-sql spark-excel

5
推荐指数
1
解决办法
2216
查看次数

在 pyspark 中读取 Excel (.xlsx) 文件

我正在尝试从 PySpark 中的本地路径读取 .xlsx 文件。

我写了下面的代码:

from pyspark.shell import sqlContext
from pyspark.sql import SparkSession

spark = SparkSession.builder \
      .master('local') \
      .appName('Planning') \
      .enableHiveSupport() \
      .config('spark.executor.memory', '2g') \
      .getOrCreate()

df = sqlContext.read("C:\P_DATA\tyco_93_A.xlsx").show()
Run Code Online (Sandbox Code Playgroud)

错误:

类型错误:“DataFrameReader”对象不可调用

apache-spark pyspark spark-excel

5
推荐指数
1
解决办法
1万
查看次数

如何在 Scala/Spark 中从多个 DataFrame 创建包含多个工作表的 Excel 文件?

Scala/Spark应用程序中我创建了两个不同的 DataFrame。我的任务是为每个 DataFrame 创建一个包含两个工作表的 Excel 文件。

我决定使用Spark-Excel库,但我有点困惑。据我了解,未来的excel文件保存在hdfs文件系统中,对吗?我需要在方法中设置未来excel文件的路径.save(),对吗?我也不明白应该选择什么格式dataAddress

import org.apache.spark.sql.Dataset
import spark.implicits._

val df1 = Seq(
    ("2019-01-01 00:00:00", "7056589658"),
    ("2019-02-02 00:00:00", "7778965896")
).toDF("DATE_TIME", "PHONE_NUMBER")

df1.show()

val df2 = Seq(
    ("2019-01-01 01:00:00", "194.67.45.126"),
    ("2019-02-02 00:00:00", "102.85.62.100"),
    ("2019-03-03 03:00:00", "102.85.62.100")
).toDF("DATE_TIME", "IP")

df2.show()

df1.write
    .format("com.crealytics.spark.excel")
    .option("dataAddress", "'First'!A1:B1000")
    .option("useHeader", "true")
    .mode("append")
    .save("/hdd/home/NNogerbek/data.xlsx")

df2.write
    .format("com.crealytics.spark.excel")
    .option("dataAddress", "'Second'!A1:B1000")
    .option("useHeader", "true")
    .mode("append")
    .save("/hdd/home/NNogerbek/data.xlsx")
Run Code Online (Sandbox Code Playgroud)

excel scala dataframe apache-spark spark-excel

5
推荐指数
1
解决办法
6699
查看次数

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

最近我想做 Spark Summit 2016 的 Spark 机器学习实验室。培训视频在这里,导出的笔记本可以在这里找到。

实验室使用的数据集可以从UCI 机器学习存储库下载。它包含来自燃气发电厂中各种传感器的一组读数。格式为 xlsx 文件,共五张。

为了在实验室中使用数据,我需要读取 Excel 文件中的所有工作表并将它们连接到一个 Spark DataFrame 中。在培训期间,他们使用 Databricks Notebook,但我使用 IntelliJ IDEA 和 Scala 并在控制台中评估代码。

第一步是将所有 Excel 工作表保存到名为 等的单独 xlsx 文件中sheet1.xlxssheet2.xlsx并将它们放入sheets目录中。

如何读取所有 Excel 文件并将它们连接到一个 Apache Spark DataFrame 中?

excel scala apache-spark apache-spark-dataset spark-excel

3
推荐指数
1
解决办法
1万
查看次数