spark+Java阶段性总结
史上最简单的spark教程
所有代码示例地址:https://github.com/Mydreamandreality/sparkResearch
(提前声明:文章由作者:张耀峰 结合自己生产中的使用经验整理,最终形成简单易懂的文章,写作不易,转载请注明)
(文章参考:Elasticsearch权威指南,Spark快速大数据分析文档,Elasticsearch官方文档,实际项目中的应用场景)
(帮到到您请点点关注,文章持续更新中!)
Git主页 https://github.com/Mydreamandreality
- 常见的转换操作
- 案例数据 {1,2,3,3}
函数名称 | 目的 | 示例 | 结果 |
---|---|---|---|
map() | 返回RDD中的所有元素 | RDD.map() | {1,2,3,3} |
filter() | 将RDD中满足该函数的元素放入新RDD中返回 | RDD.filter(equals 1) | {1} |
flatMap() | 返回个体的RDD元素 | RDD.flatMap() | {1},{2},{3},{3} |
- 常见的行动操作
- 案例数据 {1,2,3,3}
函数名称 | 目的 | 示例 | 结果 |
---|---|---|---|
collect() | 返回RDD中的所有元素 | RDD.collect()) | {1,2,3,3} |
count() | 返回RDD的总数 | RDD.count() | {4} |
countByVlue() | 返回RDD元素出现的总数 | RDD.countByValue() | {1,1},{2,1},{3,2} |
countByKey()) | 返回RDD元素出现的总数 | RDD.countByValue() | {1,1},{2,1},{3,2} |
take(num) | 返回RDD中的num个元素 | RDD.take(3) | {1,2,3} |
top(num) | 返回排序后的前num个元素 | RDD.top(2) | {3,3} |
takeordered(num) | 返回排序后的前num个元素 | RDD.takeOrdered(2, new Comparator() | {3,3} |
reduce() | 并行整合RDD中的所有元素 | RDD.reduce((x, y) => x + y) | {9} |
spark的核心概念之一:RDD
RDD的操作分为两种
转换操作
转化操作RDD是惰性求值
行动操作
返回非RDD的新元素
RDD的缓存策略:
persist方法或cache方法可以将前面的计算结果缓存