星火 2.2.0。写入 AVRO 失败
SparkR 2.2.0. Writing AVRO fails
我对 Spark 比较陌生,从 SparkR 访问它,并尝试将 AVRO 文件写入磁盘,但我一直收到错误提示 Task failed while writing rows
我是 运行 SparkR 2.2.0 -SNAPSHOT,Scala 版本 2.11.8,并通过以下方式启动我的 SparkR 会话:
sparkR.session(master = "spark://[some ip here]:7077",
appName = "nateSparkRAVROTest",
sparkHome = "/home/ubuntu/spark",
enableHiveSupport = FALSE,
sparkConfig = list(spark.executor.memory="28g"),
sparkPackages =c("org.apache.hadoop:hadoop-aws:2.7.3", "com.amazonaws:aws-java-sdk-pom:1.10.34", "com.databricks:spark-avro_2.11:3.2.0"))
我想知道我是否需要设置或安装任何特殊的东西?我在我的会话启动命令中包含了 com.databricks:spark-avro_2.11:3.2.0
包,看到它在启动会话时下载了该包,并且我正在尝试通过此命令编写 AVRO 文件:
SparkR::write.df(myFormalClassSparkDataFrameObject, path = "/home/nathan/SparkRAVROTest/", source = "com.databricks.spark.avro", mode="overwrite")
我希望有更多使用 SparkR 经验的人遇到过这个错误并能提供一些见解。感谢您的时间。
亲切的问候,
内特
我能够在我的 Spark 配置中使用 com.databricks:spark-avro_2.11:4.0.0
让它工作。
一个有用的示例 SparkR 配置是这样的:
SparkR::sparkR.session(master="local[*]",
sparkConfig = list(spark.driver.memory="14g",
spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version="2",
spark.hadoop.mapreduce.fileoutputcommitter.marksuccessfuljobs = "FALSE",
spark.kryoserializer.buffer.max="1024m",
spark.speculation="FALSE",
spark.referenceTracking="FALSE"
),
sparkPackages =c("org.apache.hadoop:hadoop-aws:2.7.3",
"com.amazonaws:aws-java-sdk:1.7.4",
"com.amazonaws:aws-java-sdk-pom:1.11.221",
"com.databricks:spark-avro_2.11:4.0.0",
"org.apache.httpcomponents:httpclient:4.5.2"))
我对 Spark 比较陌生,从 SparkR 访问它,并尝试将 AVRO 文件写入磁盘,但我一直收到错误提示 Task failed while writing rows
我是 运行 SparkR 2.2.0 -SNAPSHOT,Scala 版本 2.11.8,并通过以下方式启动我的 SparkR 会话:
sparkR.session(master = "spark://[some ip here]:7077",
appName = "nateSparkRAVROTest",
sparkHome = "/home/ubuntu/spark",
enableHiveSupport = FALSE,
sparkConfig = list(spark.executor.memory="28g"),
sparkPackages =c("org.apache.hadoop:hadoop-aws:2.7.3", "com.amazonaws:aws-java-sdk-pom:1.10.34", "com.databricks:spark-avro_2.11:3.2.0"))
我想知道我是否需要设置或安装任何特殊的东西?我在我的会话启动命令中包含了 com.databricks:spark-avro_2.11:3.2.0
包,看到它在启动会话时下载了该包,并且我正在尝试通过此命令编写 AVRO 文件:
SparkR::write.df(myFormalClassSparkDataFrameObject, path = "/home/nathan/SparkRAVROTest/", source = "com.databricks.spark.avro", mode="overwrite")
我希望有更多使用 SparkR 经验的人遇到过这个错误并能提供一些见解。感谢您的时间。
亲切的问候, 内特
我能够在我的 Spark 配置中使用 com.databricks:spark-avro_2.11:4.0.0
让它工作。
一个有用的示例 SparkR 配置是这样的:
SparkR::sparkR.session(master="local[*]",
sparkConfig = list(spark.driver.memory="14g",
spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version="2",
spark.hadoop.mapreduce.fileoutputcommitter.marksuccessfuljobs = "FALSE",
spark.kryoserializer.buffer.max="1024m",
spark.speculation="FALSE",
spark.referenceTracking="FALSE"
),
sparkPackages =c("org.apache.hadoop:hadoop-aws:2.7.3",
"com.amazonaws:aws-java-sdk:1.7.4",
"com.amazonaws:aws-java-sdk-pom:1.11.221",
"com.databricks:spark-avro_2.11:4.0.0",
"org.apache.httpcomponents:httpclient:4.5.2"))