Apache Spark:在java中加载多个文件或目录

时间:2014-12-10 16:33:19

标签: java apache-spark

我正在尝试使用Java在SPARK中加载多个文件/目录,我已经找到了一些关于如何在scala中执行此操作的示例,有人可以举例说明如何在Java中执行此操作吗?

特别是我想使用类似路径的正则表达式,这样我就不必为每个文件指定一个完全限定的名称。我已经可以使用完全限定名称给逗号分隔文件值。

我从本地文件系统加载,我不知道这是否有所作为

以下是我用来加载文件的代码:

    SparkConf sparkConf = new SparkConf().setAppName("TableAggregator");
    JavaSparkContext ctx = new JavaSparkContext(sparkConf);
    JavaRDD<String> lines = ctx.textFile(args[0], 1);

1 个答案:

答案 0 :(得分:3)

在Spark中,方法textFile()获取文件的URI(计算机上的本地路径或hdfs://等URI)。

您可以对目录,压缩文件和通配符运行此方法:

  

ctx.textFile( “data.txt中”);

     

ctx.textFile( “/你的/目录/”);

     

ctx.textFile( “/你的/目录/ *”);

     

ctx.textFile( “/你的/目录/ * GZ。”);

请注意,当您为输入使用路径时,它必须是所有工作节点的相同路径。因此,您必须将文件复制到所有工作人员或使用共享的网络安装文件系统。

所以你可以使用带有通配符的模式来完成它。