시스템 북에서 S3에 연결
PySpark + Jupter Notebook으로 S3 데이터를 읽고 싶습니다
PySpark, 즐거웠어요.
AWS 글루 등에서 ETL 처리를 시작할 때도 PySpark를 사용할 수 있어 누군가 사용하고 있을 수 있다.다만, 디버깅은 매우 힘들다.이럴 때는 로컬 PySpark+Jupyter Notebook을 사용합니다.코드의 기술, 실행을 상호작용적으로 할 수 있고 디버깅도 간단하다.
PySpark+Jupyther Notebook은 Docker로 이동하는 것이 힘들지 않고 편리합니다.$ docker run -p 8888:8888 -v $HOME/pyspark-notebook:/home/jovyan/work jupyter/pyspark-notebook start-notebook.sh
이렇게 움직여.
다만 이렇게 되면 AWS3의 데이터를 읽고 쓸 수 없습니다.
대응 방법
Jupter Notebook 셀에 천천히 붙여넣습니다.import os
os.environ['PYSPARK_SUBMIT_ARGS'] = '--packages com.amazonaws:aws-java-sdk:1.10.34,org.apache.hadoop:hadoop-aws:2.6.0 pyspark-shell'
import pyspark
sc = pyspark.SparkContext("local[*]")
from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)
hadoopConf = sc._jsc.hadoopConfiguration()
myAccessKey = input()
mySecretKey = input()
hadoopConf.set("fs.s3.impl", "org.apache.hadoop.fs.s3native.NativeS3FileSystem")
hadoopConf.set("fs.s3.awsAccessKeyId", myAccessKey)
hadoopConf.set("fs.s3.awsSecretAccessKey", mySecretKey)
df = sqlContext.read.parquet("s3://myBucket/myKey")
S3 데이터를 읽을 수 있습니다!
사실 이 문서에는 자신이 찾을 수 없어 Qita에 적었다고 기술돼 있다.
https://github.com/jupyter/docker-stacks/blob/master/docs/using/recipes.md#using-pyspark-with-aws-s3
기타쓸 때 편한 것들을 많이 썼으니 읽어보는 게 좋을 것 같아요.
Reference
이 문제에 관하여(시스템 북에서 S3에 연결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kangaechu/items/e65f8e90932039e643b2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ docker run -p 8888:8888 -v $HOME/pyspark-notebook:/home/jovyan/work jupyter/pyspark-notebook start-notebook.sh
Jupter Notebook 셀에 천천히 붙여넣습니다.
import os
os.environ['PYSPARK_SUBMIT_ARGS'] = '--packages com.amazonaws:aws-java-sdk:1.10.34,org.apache.hadoop:hadoop-aws:2.6.0 pyspark-shell'
import pyspark
sc = pyspark.SparkContext("local[*]")
from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)
hadoopConf = sc._jsc.hadoopConfiguration()
myAccessKey = input()
mySecretKey = input()
hadoopConf.set("fs.s3.impl", "org.apache.hadoop.fs.s3native.NativeS3FileSystem")
hadoopConf.set("fs.s3.awsAccessKeyId", myAccessKey)
hadoopConf.set("fs.s3.awsSecretAccessKey", mySecretKey)
df = sqlContext.read.parquet("s3://myBucket/myKey")
S3 데이터를 읽을 수 있습니다!사실 이 문서에는 자신이 찾을 수 없어 Qita에 적었다고 기술돼 있다.
https://github.com/jupyter/docker-stacks/blob/master/docs/using/recipes.md#using-pyspark-with-aws-s3
기타쓸 때 편한 것들을 많이 썼으니 읽어보는 게 좋을 것 같아요.
Reference
이 문제에 관하여(시스템 북에서 S3에 연결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kangaechu/items/e65f8e90932039e643b2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)