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