首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache spark mlib lda java创建单词/文档频率列表

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

Stack Overflow用户
提问于 2015-07-01 03:24:33
回答 1查看 522关注 0票数 1

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

project中的例子为例,我发现我首先需要生成术语/文档频率列表之类的内容。

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

我的第二个问题是如何生成这样的文本文件或直接生成JavaRDD对象?我可以使用以下命令获取文件中所有tweet的字数:

代码语言:javascript
复制
    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; }

感谢您的任何提示或评论!

EN

回答 1

Stack Overflow用户

发布于 2015-07-01 04:40:15

如果您的文档是按文件分隔的,那么构建文档-单词频率列表的一个简单选择是结合使用flatMapValueswholeTextFiles api。

或者,如果您的文档是以行为单位的,那么您可以完成示例代码所做的大部分工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31146747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档