[解決済み] S3からspark dataframe Pythonにparquetデータを読み込むには?
2022-02-07 19:30:31
質問
私はSparkの初心者ですが、これを見つけることができません...。私は、多くのparquetファイルを
s3
の場所にある。
s3://a-dps/d-l/sco/alpha/20160930/parquet/
このフォルダの総サイズは
20+ Gb
,. これをチャンクしてデータフレームに読み込む方法
これらのファイルをすべてdataframeに読み込むにはどうしたらよいでしょうか?
sparkクラスタに割り当てられたメモリは6gbです。
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 に対応する FileSystem がありません at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2660) at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2667) at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:94) at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2703) at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2685) at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:373) at org.apache.hadoop.fs.Path.getFileSystem(Path.java:295) at org.apache.spark.sql.execution.datasources.DataSource$$anonfun$14.apply(DataSource.scala:372) at org.apache.spark.sql.execution.datasources.DataSource$$anonfun$14.apply(DataSource.scala:370) at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:241) at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:241) scala.collection.immutable.List.foreach(List.scala:381)にて。 at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:241) at scala.collection.immutable.List.flatMap(List.scala:344)
解決するには?
ファイルスキーマ(
s3
)を使用しているのは正しくありません。この場合
s3n
スキーマまたは
s3a
(大きなs3オブジェクトの場合)。
// use sqlContext instead for spark <2
val df = spark.read
.load("s3n://bucket-name/object-path")
について詳しく読むことをお勧めします。 Hadoop-AWSモジュール。Amazon Web Services との統合の概要 .
関連
-
PicgoのイメージベッドツールをPythonで実装する
-
FacebookオープンソースワンストップサービスpythonのタイミングツールKats詳細
-
[解決済み] _tkinter.TclError: 表示名がなく、$DISPLAY環境変数もない。
-
[解決済み】numpy: true_divide で無効な値に遭遇
-
[解決済み】 TypeError: += でサポートされていないオペランド型: 'int' および 'list' です。
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] 列の値に基づいてDataFrameから行を選択するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PicgoのイメージベッドツールをPythonで実装する
-
任意波形を生成してtxtで保存するためのPython実装
-
FacebookオープンソースワンストップサービスpythonのタイミングツールKats詳細
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み】Pythonでgoogle APIのJSONコードを読み込むとエラーになる件
-
[解決済み】 AttributeError("'str' object has no attribute 'read'")
-
[解決済み】Python Error: "ValueError: need more than 1 value to unpack" (バリューエラー:解凍に1つ以上の値が必要です
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)
-
[解決済み】Python - "ValueError: not enough values to unpack (expected 2, got 1)" の修正方法 [閉店].
-
[解決済み】cアンダースコア式`c_`は、具体的に何をするのですか?