【发布时间】:2017-11-21 14:05:03
【问题描述】:
我是 Spark 的新手,但我找不到这个...我有很多镶木地板文件上传到 s3 的位置:
s3://a-dps/d-l/sco/alpha/20160930/parquet/
这个文件夹的总大小是20+ Gb,。如何分块并将其读入数据帧
如何将所有这些文件加载到数据框中?
为 Spark 集群分配的内存为 6 GB。
from pyspark import SparkContext
from pyspark.sql import SQLContext
from pyspark import SparkConf
from pyspark.sql import SparkSession
import pandas
# SparkConf().set("spark.jars.packages","org.apache.hadoop:hadoop-aws:3.0.0-alpha3")
sc = SparkContext.getOrCreate()
sc._jsc.hadoopConfiguration().set("fs.s3.awsAccessKeyId", 'A')
sc._jsc.hadoopConfiguration().set("fs.s3.awsSecretAccessKey", 's')
sqlContext = SQLContext(sc)
df2 = sqlContext.read.parquet("s3://sm/data/scor/alpha/2016/parquet/*")
错误:
Py4JJavaError:调用 o33.parquet 时出错。 :java.io.IOException:方案没有文件系统:s3 在 org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2660) 在 org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2667) 在 org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:94) 在 org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2703) 在 org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2685) 在 org.apache.hadoop.fs.FileSystem.get(FileSystem.java:373) 在 org.apache.hadoop.fs.Path.getFileSystem(Path.java:295) 在 org.apache.spark.sql.execution.datasources.DataSource$$anonfun$14.apply(DataSource.scala:372) 在 org.apache.spark.sql.execution.datasources.DataSource$$anonfun$14.apply(DataSource.scala:370) 在 scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:241) 在 scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:241) 在 scala.collection.immutable.List.foreach(List.scala:381) 在 scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:241) 在 scala.collection.immutable.List.flatMap(List.scala:344)【问题讨论】:
-
还需要在spark文件夹中添加包:org.apache.hadoop:hadoop-aws:3.0.0-alpha3, org.apache.httpcomponents:httpclient:4.3.6, org.apache。 httpcomponents:httpcore:4.3.3, com.amazonaws:aws-java-sdk-core:1.10.27, com.amazonaws:aws-java-sdk-s3:1.10.27, com.amazonaws:aws-java-sdk- sts:1.10.27
标签: python apache-spark amazon-s3 pyspark