gpt4 book ai didi

scala - 如何使用 scala to Spark 从 Blob 存储中读取文件

转载 作者:行者123 更新时间:2023-12-03 01:44:23 24 4
gpt4 key购买 nike

我有一段可以在本地运行的 scala 代码

val test = "resources/test.csv"

val trainInput = spark.read
.option("header", "true")
.option("inferSchema", "true")
.format("com.databricks.spark.csv")
.load(train)
.cache

但是,当我尝试在 azure 上运行它时,通过提交作业并调整以下行来触发:

val test = "wasb:///tmp/MachineLearningScala/test.csv"

这不起作用。如何使用 scala 引用 azure 中的 blob 存储中的文件?这应该是简单的。

最佳答案

如果您使用 sbt,请将此依赖项添加到built.sbt

"org.apache.hadoop" % "hadoop-azure" % "2.7.3"

对于maven,添加依赖项

<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-azure</artifactId>
<version>2.7.0</version>
</dependency>

要从 Blob 存储中读取文件,您需要定义要在底层 Hadoop 配置中使用的文件系统。

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 ")

并将 csv 文件读取为

  val path = "wasb[s]://<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="4507292a2716312a37242220062a2b31242c2b2037053c2a3037103620376b27292a276b262a37206b322c2b212a32366b2b2031" rel="noreferrer noopener nofollow">[email protected]</a>"
val dataframe = spark.read
.option("header", "true")
.option("inferSchema", "true")
.csv(path + "/tmp/MachineLearningScala/test.csv")

here就是例子希望这有帮助!

关于scala - 如何使用 scala to Spark 从 Blob 存储中读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48990767/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com