web-dev-qa-db-ja.com

Spark)で同時にいくつかの寄木細工のファイルを読み取ります

*(スター)を使用して、いくつかのjsonファイルを同時に読み取ることができます。

sqlContext.jsonFile('/path/to/dir/*.json')

寄木細工のために同じことをする方法はありますか?スターが機能しません。

6
SkyFox

spark jiraの この問題 を参照してください。1.4以降でサポートされています。

1.4にアップグレードせずに、最上位ディレクトリを指すことができます。

sqlContext.parquetFile('/path/to/dir/')

これにより、ディレクトリ内のすべてのファイルがロードされます。または、HDFS APIを使用して必要なファイルを見つけ、それらをparquetFileに渡すこともできます(varargsを受け入れます)。

6
dpeacock

参考までに、次のこともできます。

  • ワイルドカード記号を使用して寄木細工のファイルのサブセットを読み取る* sqlContext.read.parquet("/path/to/dir/part_*.gz")

  • 明示的に指定して複数の寄木細工のファイルを読み取るsqlContext.read.parquet("/path/to/dir/part_1.gz", "/path/to/dir/part_2.gz")

12
Boris
InputPath = [hdfs_path + "parquets/date=18-07-23/hour=2*/*.parquet",
             hdfs_path + "parquets/date=18-07-24/hour=0*/*.parquet"]

df = spark.read.parquet(*InputPath)
2
user6602391

読み取りの場合:ファイルのパスと「*」を指定します

pqtDF=sqlContext.read.parquet("Path_*.parquet")
0
Idrees