spark 错误请求-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

spark 错误请求

社区小助手 2018-12-05 15:01:41 1321

我正在尝试从s3读取orc文件。我可以从spark-shell中读取它,如下所示。

scala> val df = spark.read.format("orc").load("s3a://bucketname/testorc/people/")
df: org.apache.spark.sql.DataFrame = [name: string, age: int ... 1 more field]
并使用以下配置运行spark-shell。

--master spark://ipaddress \
--packages datastax:spark-cassandra-connector:2.0.7-s_2.11,org.apache.hadoop:hadoop-aws:2.7.4,org.apache.hadoop:hadoop-client:2.7.4,com.typesafe:config:1.2.1 \
--conf "spark.driver.memory=4g" \
--conf spark.hadoop.fs.s3a.endpoint=s3.ap-south-1.amazonaws.com \
--conf spark.hadoop.fs.s3a.impl=org.apache.hadoop.fs.s3a.S3AFileSystem \
--conf spark.executor.extraJavaOptions=-Dcom.amazonaws.services.s3.enableV4=true \
--conf spark.driver.extraJavaOptions=-Dcom.amazonaws.services.s3.enableV4=true \
--conf spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version=2 \
--conf spark.speculation=false \
--conf "spark.executor.memory=3g" \
但是当我尝试使用带有hydrosphere mist的spark从s3读取相同的文件时。我得到以下错误:

Status Code: 400, AWS Service: Amazon S3, AWS Request ID: 123456ABDGS, AWS Error Code: null, AWS Error Message: Bad Request,
以下是我的spark配置与 mist。

mist.context-defaults.spark-conf = {

  spark.master = "spark://ipaddress"
  spark.default.parallelism = 3
  spark.cores.max = 4
  spark.executor.cores = 1
  spark.driver.memory = "1g"
  spark.executor.memory = "1g"
  spark.cassandra.connection.host = "cassandrahost"
  spark.eventLog.enabled = false
  spark.sql.crossJoin.enabled = true
  spark.sql.shuffle.partitions = 50
  spark.hadoop.fs.s3a.endpoint=s3.ap-south-1.amazonaws.com
  spark.hadoop.fs.s3a.impl=org.apache.hadoop.fs.s3a.S3AFileSystem
  spark.executor.extraJavaOptions="-Dcom.amazonaws.services.s3.enableV4=true"
  spark.driver.extraJavaOptions="-Dcom.amazonaws.services.s3.enableV4=true"
  spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version=2
  spark.speculation=false
}

用于读取文件的scala代码:

val df = spark.read.format("orc").load("s3a://bucketname/testorc/people/")
我在这里缺少什么?请帮忙。

编辑的问题

通过上下文运行选项传递外部依赖关系。

mist.context.abc.run-options = "--packages org.apache.hadoop:hadoop-aws:2.7.4,org.apache.hadoop:hadoop-client:2.7.4,com.typesafe:config:1.2.1"

分布式计算 Scala Spark
分享到
取消 提交回答
全部回答(1)
  • 社区小助手
    2019-07-17 23:18:24

    您需要--packages在第一个示例中提到的上下文中添加相同的设置spark-shell。

    0 0
大数据
使用钉钉扫一扫加入圈子
+ 订阅

大数据计算实践乐园,近距离学习前沿技术

推荐文章
相似问题