[学习笔记]

/*没有下面的话, 会报一个错误,java.lang.IllegalArgumentException: System memory 259522560 must be at least 4.718592E8(470M). Please use a larger heap size.这是memory不够,导致无法启动SparkContext*/        
        conf.set("spark.testing.memory", "2000000000");
        JavaSparkContext sc = new JavaSparkContext(conf);
/*下面的这种倒入的方法也行*/        
 //       JavaRDD<String> text = sc.textFile("hdfs://localhost:9000/README.txt");
/*原文件是:o1abc 45
o1abc 77
o1abc o1abc */        
        JavaRDD<String> text = sc.textFile("E://temp//input//friend.txt");
        List<String> strList = text.collect();
/*输出str:o1abc 45
str:o1abc 77
str:o1abc o1abc*/        
        for (String str : strList) {
            System.out.println("str:" + str);
        }
/*Interface FlatMapFunction<T,R>, Iterable<R> call(T t)(注意之后的版本,返回值有所变化。)*/        
        JavaRDD<String> words = text.flatMap(new FlatMapFunction<String, String>() {
/*List的super Interface 是java.lang.Iterable*/            
            public Iterable<String> call(String line) throws Exception {
                System.out.println("flatMap once, line is "+line );
                String[] wordsArray=line.split(" ");
                List<String> wordsList=Arrays.asList(wordsArray);
                return wordsList;
            }
        });
        List<String> wordsList = words.collect();
/*输出
flatMap once, line is o1abc 45
flatMap once, line is o1abc 77
flatMap once, line is o1abc o1abc
 
word:o1abc
word:45
word:o1abc
word:77
word:o1abc
word:o1abc*/        
        for (String word : wordsList) {
            System.out.println("word:" + word);
        }    
/* http://spark.apache.org/docs/latest/
 Interface PairFunction<T,K,V>
A function that returns key-value pairs (Tuple2<K, V>), and can be used to construct PairRDDs.
scala.Tuple2<K,V>     call(T t) 
*/    
/*  
flatMap once, line is o1abc 45(这句说明前面语句再次被执行)
in tuple2 word: o1abc

文章转载原文:https://blog.csdn.net/qq_44596980/article/details/93385009

最新文章

  1. HTML常用标签
  2. git入门学习
  3. JavaScriptOO.com – 快速找到你需要的 JS 框架
  4. 解决Eclipse里Maven工程报 An error occurred while filtering resources错误
  5. 手机web页面制作时的注意事项
  6. PHP+memcache扩展(集成环境wampserver环境下)
  7. angularJS directive详解
  8. MVC新手指南
  9. Delphi中编辑word
  10. QT5新手上路(2)发布exe文件
  11. SilkTest高级进阶系列7-用PostMessage模拟鼠标
  12. SQLServer2014新功能
  13. Python---socket库
  14. pycharm 安装dilb模块
  15. JAVA学习笔记(4)—— 排序算法
  16. Django ORM相关
  17. [HTML]点击按钮,页面总是跳回顶端的解决方法(Clicking an button,always resets the view to top of page)
  18. java+Quartz实现定时任务
  19. error MSB6006: &quot;CL.exe&quot; exited with code -1073741819.
  20. 剑指offer面试题3二维数组中的查找

热门文章

  1. CF633C Spy Syndrome 2 trie树
  2. mfc编程之发送wm_paint消息时绘图界面只出现一瞬间
  3. apipost 调试微信公众号 小程序,秒生成文档工具
  4. 第11组 Alpha冲刺(4/6)
  5. 错误Uncaught Error: Bootstrap&#39;s JavaScript requires jQuery at bootstrap.min.js:6 错误详解
  6. 前端知识点回顾——mongodb和mongoose模块
  7. linux:解决SSH连接Linux超时自动断开
  8. .md 即 markdown 文件的基本常用编写语法
  9. strace调试跟踪程序运行状态
  10. mac配置maven项目的方法(含导入selenium包)