在spark java中扫描azure blob存储容器
我需要将azure blob容器中的所有文件读取到spark RDD中。我正在使用azure HDInsight,我的群集配置在与输入目录相同的存储帐户中在spark java中扫描azure blob存储容器,java,azure,apache-spark,azure-hdinsight,Java,Azure,Apache Spark,Azure Hdinsight,我需要将azure blob容器中的所有文件读取到spark RDD中。我正在使用azure HDInsight,我的群集配置在与输入目录相同的存储帐户中 是否有任何java API/示例可以实现这一点 它看起来像普通的Spark Java示例,只需使用“wasb://”文件系统来引用blob存储容器: import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; Dataset<Row> df = spa
是否有任何java API/示例可以实现这一点 它看起来像普通的Spark Java示例,只需使用“wasb://”文件系统来引用blob存储容器:
import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
Dataset<Row> df = spark.read().json("wasb://yourcontainer@yourstorageaccount.blob.core.windows.net/people.json");
import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
Dataset<Row> df = spark.read().json("wasb://yourcontainer@yourstorageaccount.blob.core.windows.net/*");
import org.apache.spark.sql.Dataset;
导入org.apache.spark.sql.Row;
数据集df=spark.read().json(“wasb://yourcontainer@yourstorageaccount.blob.core.windows.net/people.json);
有关Java API的更多详细信息,请访问spark网站(单击Java选项卡):它看起来像普通的spark Java示例,只需使用“wasb://”文件系统引用blob存储容器:
import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
Dataset<Row> df = spark.read().json("wasb://yourcontainer@yourstorageaccount.blob.core.windows.net/people.json");
import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
Dataset<Row> df = spark.read().json("wasb://yourcontainer@yourstorageaccount.blob.core.windows.net/*");
import org.apache.spark.sql.Dataset;
导入org.apache.spark.sql.Row;
数据集df=spark.read().json(“wasb://yourcontainer@yourstorageaccount.blob.core.windows.net/people.json);
有关Java API的更多详细信息,请访问spark网站(单击Java选项卡):@maxiluk没有完全回答这个问题。所以我将给出更多的细节。他给出的示例将加载一个json文件。要加载整个json文件目录,可以使用通配符,如(这将加载整个容器):
import org.apache.spark.sql.Dataset;
导入org.apache.spark.sql.Row;
数据集df=spark.read().json(“wasb://yourcontainer@yourstorageaccount.blob.core.windows.net/*”;
如果您想加载多个目录,但不是全部目录,您可以传递一个以逗号分隔的目录列表:(如果您想了解更多详细信息,请查看)
Dataset df=spark.read().json(“wasb://yourcontainer@yourstorageaccount.blob.core.windows.net/2016/10/01/*,wasb://yourcontainer@yourstorageaccount.blob.core.windows.net/2016/10/02/*”;
根据您使用的spark版本,如果您有一个SqlContext或一个SparkContext,您可能还能够传入路径的Seq[String],而不是逗号分隔的列表。@maxiluk没有完全回答这个问题。所以我将给出更多的细节。他给出的示例将加载一个json文件。要加载整个json文件目录,可以使用通配符,如(这将加载整个容器):
import org.apache.spark.sql.Dataset;
导入org.apache.spark.sql.Row;
数据集df=spark.read().json(“wasb://yourcontainer@yourstorageaccount.blob.core.windows.net/*”;
如果您想加载多个目录,但不是全部目录,您可以传递一个以逗号分隔的目录列表:(如果您想了解更多详细信息,请查看)
Dataset df=spark.read().json(“wasb://yourcontainer@yourstorageaccount.blob.core.windows.net/2016/10/01/*,wasb://yourcontainer@yourstorageaccount.blob.core.windows.net/2016/10/02/*”;
根据您使用的spark版本,如果您有一个SqlContext或一个SparkContext,您可能还能够传入路径的Seq[String],而不是逗号分隔的列表