来自本地的Azure特定读取文件

时间:2017-03-16 19:00:16

标签: java azure hadoop apache-spark

我正在使用spark wasb在spark

上挣扎

我正在阅读从磁盘加载.json.gz文件并将其加载到hdfs。我在其他系统上广泛使用了以下代码。

val file_a_raw = sqlContext.read.json('/home/users/repo_test/file_a.json.gz')

但是,在Azure上,它会返回:

java.io.FileNotFoundException: Filewasb://server-2017-03-07t08-13-41-314z@server.blob.core.windows.net/home/users/repo_test/file_a.json.gz does not exist.

我已经检查了这个位置,文件就在那里并且正确。

我认为:和文件.net之间应该有一个path,但是我尝试手动添加它时出现java错误。

java.lang.IllegalArgumentException: java.net.URISyntaxException: Expected scheme name at index 0:

我也尝试过:

Filewasb:///home/users/repo_test/file_a.json.gz

但是回归:

java.io.IOException: No FileSystem for scheme: Filewasb

此代码适用于非Azure spark

1 个答案:

答案 0 :(得分:1)

对于Azure,您需要使用正确的凭据配置Spark。 Databricks有关于此的文档:https://docs.databricks.com/user-guide/faq/azure-blob-storage.html