[HADOOP] AWS 잘못된 요청 (400) 스파크
HADOOPAWS 잘못된 요청 (400) 스파크
나는 S3에서 오크 파일을 읽기 위해 노력하고있어. 아래 볼 수 있듯이 나는 스파크 쉘에서 읽을 수 있어요.
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]
아래 구성 스파크 쉘을 실행했다.
--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" \
하지만 수권 안개와 불꽃을 사용하여 S3에서 같은 파일을 읽으려고 할 때. 나는 아래의 오류가 발생합니다 :
Status Code: 400, AWS Service: Amazon S3, AWS Request ID: 123456ABDGS, AWS Error Code: null, AWS Error Message: Bad Request,
그리고 아래의 안개 내 스파크 구성입니다.
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
}
스칼라 코드는 파일을 읽을 수 :
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"
해결법
-
==============================
1.당신은 당신이 스파크 - 쉘 첫 번째 예에서 언급 한 바와 같이 귀하의 상황에 같은 --packages 설정을 추가해야합니다.
당신은 당신이 스파크 - 쉘 첫 번째 예에서 언급 한 바와 같이 귀하의 상황에 같은 --packages 설정을 추가해야합니다.
from https://stackoverflow.com/questions/53496235/aws-bad-request400-spark by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 하둡 클러스터에 대한 최적의 블록 크기 (0) | 2019.10.09 |
---|---|
[HADOOP] HDFS에서 이동 데이터는 하이브 테이블에로드 작업을 수행하는 방법에 대한 디렉토리를 하이브 (0) | 2019.10.09 |
[HADOOP] 아파치 돼지를 사용하여 파일에서 "문자열 식"을 제거하는 절차 / 코드 무엇을 할 수 있습니까? (0) | 2019.10.09 |
[HADOOP] 테이블을 나열 할 때 HBase를 쉘은 오류를 보여줍니다 (0) | 2019.10.09 |
[HADOOP] 어떻게 하둡 입력 텍스트 파일에 대한 레코드 구분 기호로 탭을 지정하려면? (0) | 2019.10.09 |