Spark的RDD数据集很适合处理轻量文件,一般场景下是excel文件,可以将excel文件另存为CSV(逗号分隔),Spark读取CSV文件形成RDD。

1、序列化类Record,用于保存字段

package sk.sql;import java.io.Serializable;public class Record implements Serializable {String area;String orderid;String content;String datetime;// constructor , getters and setters public Record(String area, String orderid, String content, String datetime) {// TODO Auto-generated constructor stubthis.area=area;this.orderid=orderid;this.content=content;this.datetime=datetime;}public String getarea(){return this.area;}public void setarea(String area){this.area=area;}public String getorderid(){return this.orderid;}public void setorderid(String orderid){this.orderid=orderid;}public String getcontent(){return this.content;}public void setcontent(String content){this.content=content;}public String getdatetime(){return this.datetime;}public void setdatetime(String datetime){this.datetime=datetime;}
}

2、读取CSV文件并形成RDD代码

package sk.sql;import java.util.List;import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.function.Function;public class CSVDemo {public static void main(String[] args) {SparkConf conf = new SparkConf().setAppName("CSVDemo");JavaSparkContext sc = new JavaSparkContext(conf);JavaRDD<String> data = sc.textFile("/tmp/10all.csv");//SQLContext sqlContext = new SQLContext(sc);JavaRDD<Record> rdd_records = data.map(new Function<String, Record>() {public Record call(String line) throws Exception {// Here you can use JSON// Gson gson = new Gson();// gson.fromJson(line, Record.class);String[] fields = line.split(",");if(fields.length<7 ) return null;Record sd = new Record(fields[1],fields[2],fields[4],fields[6]);return sd;}});List<Record> lr=rdd_records.collect();for(Record rd:lr){if(rd!=null)System.out.println(rd.area+"|"+rd.orderid+"|"+rd.content+"|"+rd.datetime);}//rdd_records.saveAsTextFile("/tmp/10all.txt");sc.stop();}}

离线轻量级大数据平台Spark之读取CSV文件实例相关推荐

  1. 离线轻量级大数据平台Spark之MLib机器学习协同过滤ALS实例

    1.协同过滤 协同过滤(Collaborative Filtering,简称CF,WIKI上的定义是:简单来说是利用某个兴趣相投.拥有共同经验之群体的喜好来推荐感兴趣的资讯给使用者,个人透过合作的机制 ...

  2. 离线轻量级大数据平台Spark之MLib机器学习库概念学习

    Mlib机器学习库 1.1机器学习概念 机器学习有很多定义,倾向于下面这个定义.机器学习是对能通过经验自动改进的计算机算法的研究.机器学习依赖数据经验并评估和优化算法所运行出的模型.机器学习算法尝试根 ...

  3. 离线轻量级大数据平台Spark之MLib机器学习库TF-IDF实例

    TF-IDF(termfrequency–inverse document frequency)是TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度.字词的 ...

  4. 离线轻量级大数据平台Spark之MLib机器学习库聚类算法KMeans实例

    1.KMeans算法 所谓聚类问题,就是给定一个元素集合D,其中每个元素具有n个可观察属性,使用某种算法将D划分成k个子集,要求每个子集内部的元素之间相异度尽可能低,而不同子集的元素相异度尽可能高.其 ...

  5. 离线轻量级大数据平台Spark之MLib机器学习库朴素贝叶斯实例

    1.朴素贝叶斯介绍 表示事件B已经发生的前提下,事件A发生的概率,叫做事件B发生下事件A的条件概率,公式为: 贝叶斯定理: 从已知P(A|B)获得P(B|A)值. 假设A和B代表两类互相影响的事件,如 ...

  6. 离线轻量级大数据平台Spark之单机部署及Java开发

    1.Spark平台基本介绍 Spark 由加州大学伯克利分校 AMP 实验室 (Algorithms, Machines, and PeopleLab) 开发,可用来构建大型的.低延迟的数据分析应用程 ...

  7. 离线轻量级大数据平台Spark之JavaRDD关联join操作

    对两个RDD进行关联操作,如: 1)文件post_data.txt包含:post_id\title\content 2)文件train.txt包含:dev_id\post_id\praise\time ...

  8. 离线轻量级大数据平台Spark之中文字符显示问题的解决

    问题:spark读取文本文件转化成JavaRDD后发现中文字符显示乱码. 在spark-shell环境里执行:System.getProperty("file.encoding") ...

  9. 离线轻量级大数据平台Spark之MLib机器学习库Word2Vec实例

    Word2Vecword2vec能将文本中出现的词向量化,可以在捕捉语境信息的同时压缩数据规模.Word2Vec实际上是两种不同的方法:Continuous Bag of Words (CBOW) 和 ...

最新文章

  1. areas where akka is being deployed into production
  2. struts2操作json成字符串格式错误被转义及其前台访问json对象的方法
  3. 反射动态调用DLL类库测试
  4. (3)Node.js APIS
  5. html调用一个php文件路径_HTML中利用js调用php的内容
  6. vue多个根节点上的属性继承
  7. 学号:201621123032 《Java程序设计》第3周学习总结
  8. OpenX系列标准:OpenDRIVE标准简述
  9. 计算机控制技术复试面试(一)
  10. uniapp微信小程序使用分享功能
  11. 不要重新发明轮子_请重新发明轮子
  12. GitLab之Runner注册K8S
  13. 吴恩达预热新课!万字回顾机器学习!
  14. 先正达谋定农化世界竞争格局-丰收节贸易会:座次重排
  15. linux cpan 参数配置,CPAN 的使用
  16. 观自在菩萨,行深般若波罗蜜多时,照见五蕴皆空,度一切苦厄。舍利子,色不异空,空不异色,色即是空,空即是色,受想行识,亦复如是。舍利子,是诸法空相,不生不灭,不垢不净,不增不减。是故空中无色,无受想行识
  17. linux iptable命令用法
  18. javascript玩转ElasticSearch(一)
  19. 用户注册+登录(下)
  20. Minecraft正版账号获得方法

热门文章

  1. Java设计模式(九):模板方法设计模式
  2. joc杂志影响因子2019_另类统计!2019影响因子贡献文章排行榜,看完有点心塞
  3. python画饼状图的包_Python数据可视化:画饼状图、折线图、圈图
  4. python判断文件是否存在、不存在则创建_python判断文件是否存在,不存在就创建一个的实例...
  5. 僵尸进程的产生与处理
  6. data.push({name:'a',value:'a'});
  7. Zabbix监控Nginx性能状态
  8. docker实战——构建Jekyll
  9. 用Java实现HTTP断点续传功能(ZT)
  10. 设计模式1实践-开篇