【问题标题】:How to use a custom metadata file on azure hdinsight spark cluster如何在 azure hdinsight spark 集群上使用自定义元数据文件
【发布时间】:2018-09-19 16:25:42
【问题描述】:

我有一个在 Azure HDinsight spark 集群上运行作业时从 .dat 文件(存储在 azure blob 存储中)加载数据的用例。 我通过this doc来加载它,如下python(pyspark):

file='wasb:///<container_name>/<path>/CITYIP.dat'
with open(file) as f:
    print f.read()

抛出IOError: No such file or directory。我觉得,我在这里做错了。

有人可以指出正确的方向,使用 pyspark 在 azure HDinsight spark 集群中加载文件吗?

【问题讨论】:

    标签: azure apache-spark pyspark azure-hdinsight azure-blob-storage


    【解决方案1】:

    要读取文件并在 spark 中加载,请确保添加了 hadoop-azure 依赖项 "org.apache.hadoop" % "hadoop-azure" % "2.7.3"

    然后定义要在底层 Hadoop 配置中使用的文件系统。

    val spark = SparkSession.builder().appName("read azure storage").master("local[*]").getOrCreate()
    
    spark.sparkContext.hadoopConfiguration.set("fs.azure", "org.apache.hadoop.fs.azure.NativeAzureFileSystem")
    spark.sparkContext.hadoopConfiguration.set("fs.azure.account.key.yourAccount.blob.core.windows.net", "yourKey ")
    
    val baseDir = "wasb[s]://BlobStorageContainer@yourUser.blob.core.windows.net/"
    

    现在将文本文件读取为

    val file = spark.read.textFile(baseDir + "pathToTextFile")
    

    注意:上面的代码是在scala中的,希望你可以改在pyspark

    Here 是我测试的完整程序

    【讨论】:

      猜你喜欢
      • 2017-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-02
      • 1970-01-01
      • 2019-10-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多