如何在 azure hdinsight spark 集群上使用自定义元数据文件
How to use a custom metadata file on azure hdinsight spark cluster
我有一个从 .dat 文件(存储在 azure blob 存储中)加载数据的用例,用于 Azure HDinsight spark 集群上的 while 运行 作业。
我通过 this 文档加载它,如下 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 集群中加载文件吗?
要读取文件并在 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 是我测试的完整程序
我有一个从 .dat 文件(存储在 azure blob 存储中)加载数据的用例,用于 Azure HDinsight spark 集群上的 while 运行 作业。 我通过 this 文档加载它,如下 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 集群中加载文件吗?
要读取文件并在 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 是我测试的完整程序