Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark mlib lda java创建单词/文档频率列表_Java_Apache Spark_Lda - Fatal编程技术网

Apache spark mlib lda java创建单词/文档频率列表

Apache spark mlib lda java创建单词/文档频率列表,java,apache-spark,lda,Java,Apache Spark,Lda,我正在使用ApacheSpark的mlib版本1.4.0对文本文档执行潜在的dirichelet分析,其中每一行代表一条tweet 我发现我首先需要生成一个术语/文档频率列表 我的第一个问题是,我是否正确地假设在项目的示例中,每行表示一个术语/单词,每列表示一个文档,单元格编号表示计数 我的第二个问题是如何生成这样的文本文件或直接生成JavaRDD对象? 我可以通过以下方式获得文件中所有推文的字数: JavaRDD<String> data = sc.textFile(pat

我正在使用ApacheSpark的mlib版本1.4.0对文本文档执行潜在的dirichelet分析,其中每一行代表一条tweet

我发现我首先需要生成一个术语/文档频率列表

我的第一个问题是,我是否正确地假设在项目的示例中,每行表示一个术语/单词,每列表示一个文档,单元格编号表示计数

我的第二个问题是如何生成这样的文本文件或直接生成JavaRDD对象? 我可以通过以下方式获得文件中所有推文的字数:

    JavaRDD<String> data = sc.textFile(path);
    JavaRDD<String> words = data.flatMap(new FlatMapFunction<String, String> () {   public Iterable<String> call(String s) { return Arrays.asList(s.split("")); }});

    JavaPairRDD<String, Integer> pairs = words.mapToPair(new PairFunction<String, String, Integer>() {
       public Tuple2<String, Integer> call(String s) { return new Tuple2<String, Integer>(s, 1); } });

    JavaPairRDD<String, Integer> counts = pairs.reduceByKey(new Function2<Integer, Integer, Integer>() {
    public Integer call(Integer a, Integer b) { return a + b; }
javarddata=sc.textFile(路径);
JavaRDD words=data.flatMap(新的flatMap函数(){public Iterable call(String s){return array.asList(s.split(“”);}});
javapairrdpairs=words.mapToPair(新PairFunction(){
公共Tuple2调用(字符串s){返回新的Tuple2(s,1);}});
javapairdd counts=pairs.reduceByKey(新函数2(){
公共整数调用(整数a,整数b){返回a+b;}

感谢您的提示或评论!

如果您的文档是按每个文件分开的,那么构建文档词频列表的一个简单选项就是使用
wholeTextFiles
api以及
flatMapValues


或者,如果您的文档是基于每行的,那么您可以执行示例代码所执行的大部分操作。

如果您的文档是基于每个文件进行分离的,那么构建文档词频列表的一个简单选项就是使用
wholeTextFiles
api以及
flatMapValues


或者,如果您的文档是基于每行的,那么您可以执行示例代码所执行的大部分操作。

包含更多功能,包括您正在查找的功能。请查看预处理方法。
sc.textFile
将文件分为行。下一步是将行拆分为单词,以便在
Arrays.asList(s.split(“”)或是单个空格
Arrays.asList(s.split(“”)
?这很重要。在空字符串上拆分可能会拆分为字符,而不是单词。就我个人而言,我会在那里使用其他一些正则表达式,可能是
\W
\b
包含更多的功能,包括您正在寻找的功能。请查看预处理方法。
sc.textFile
将文件拆分为行xt步骤是将行拆分为单词,因此是
Arrays.asList(s.split(“”)中的空白字符串
,或者是单个空格
Arrays.asList(s.split(“”))
?这很重要。在空字符串上拆分可能会拆分为字符,而不是单词。就我个人而言,我会使用其他一些正则表达式,可能是
\W
\b
当她说“在项目的示例文件中,每行表示一个术语/单词,每列表示一个文档,单元格编号表示计数”时,她是否正确地假设了这一点当她说“在项目的示例文件中,每行表示一个术语/单词,每列表示一个文档,单元格编号表示计数”时,她是否正确地假设了这一点