使用本地Pyspark从GCS打开镶木地板

时间:2019-12-11 10:46:14

标签: apache-spark pyspark google-cloud-storage

我在Google Cloud Storage上有一个包含多个镶木文件的文件夹。我安装在VM pyspark中,现在我想读取实木复合地板文件。这是我的代码:

from pyspark.sql import SparkSession

spark = SparkSession\
        .builder\
        .config("spark.driver.maxResultSize", "40g") \
        .config('spark.sql.shuffle.partitions', '2001') \
        .config("spark.jars", "~/spark/spark-2.4.4-bin-hadoop2.7/jars/gcs-connector-hadoop2-latest.jar")\
        .getOrCreate()
sc = spark.sparkContext
# using SQLContext to read parquet file
from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)
# to read parquet file
filename = "gs://path/to/parquet"
df = sqlContext.read.parquet(filename)
print(df.head())

我运行它时,出现以下错误:

WARN FileStreamSink: Error while looking for metadata directory.

要安装pyspark,我遵循了本教程:https://towardsdatascience.com/how-to-get-started-with-pyspark-1adc142456ec

1 个答案:

答案 0 :(得分:0)

您是否尝试过像this这样从GCS读取数据,然后传递您读取的数据?我认为您不能直接使用pyspark阅读。

我一直在阅读有关该错误的信息,在某些情况下,当文件不可访问或路径不正确时,会引发该错误。我想可能就是这样。