spark使用
来源:互联网 发布:龟头增大知乎 编辑:程序博客网 时间:2024/06/06 10:50
一、基础概念:
RDD对象:
spark的核心对象,
文件等加载均转化为RDD对象(SparkContext.textFile(input_file) )
RDD对象属性、方法:
map、reduce、flatmap、reducebykey
二、使用
1.声明:
from pyspark import SparkContext, SparkConf #pyspark ,python-spark支持
appName = "程序名" #也可以用于web上监控
master = "spark://服务器名:端口" #服务器名可以使用ip
conf = SparkConf().setAppName(appName).setMaster(master)
sc = SparkContext(conf=conf)
说明:
val sc = new SparkContext(master, appName, [sparkHome], [jars])
参数master指明集群的地址,是字符串,master可以是"local"--在本地单机运行,也可以是Spark或者Mesos集群的URL。
参数appName是Spark应用的名称,会在集群的web界面里显示出来。
参数sparkHome是spark的安装目录,注意,集群内所有节点的Spark必须安装在同样的目录下。
参数jars是打包后的Spark应用,是本地目录,这些Jar包会被复制发送到集群内的所有节点执行。
2.文件加载及处理:
a.处理:
"""odflow.py"""from pyspark import SparkContextfileDir = "/TripChain3_Demo.txt"# sc = SparkContext("local", "ODFlow")sc = SparkContext("spark://ITS-Hadoop10:7077", "ODFlow")lines = sc.textFile(fileDir)# python不能直接写多行的lambda表达式,所以要封装在函数中def toKV(line): arr = line.split(",") t = arr[5].split(" ")[1].split(":") return (t[0]+t[1]+","+arr[11]+","+arr[18],1)r1 = lines.map( lambda line : toKV(line) ).reduceByKey(lambda a,b: a+b)# 排序并且存入一个(repartition)文件中r1.sortByKey(False).saveAsTextFile("/pythontest/output")
b.发布
spark-submit \ --master spark://ITS-Hadoop10:7077 \ odflow.py
2.1 单个文件处理
2.1.1 无配置文件情况
data_file = sc.textFile(input_file) #sc为SparkContext对象
data_file.map(handle_one_line).filter(lambda x: len(x.split("\t"))==7).saveAsTextFile(output_file)
2.1.2 有配置文件情况
2.2 两个文件(多个文件)处理
- spark使用
- spark使用
- spark 使用
- 科普Spark,Spark是什么,如何使用Spark
- Spark学习--spark-shell使用
- Spark SQL UDF使用
- Spark累加器使用
- Spark使用体会
- Spark安装和使用
- spark 安装和使用
- Spark使用实例
- Spark使用经验分享
- Spark安装和使用
- Spark SQL的使用
- 使用Ganglia监控Spark
- spark使用文档
- spark streaming检查点使用
- spark partitioner使用技巧
- 线程通信
- 服务器启动时Webapp的web.xml中配置的加载顺序
- MBProgressHUD的基本使用
- jquery获取radio选中值
- 买车风波
- spark使用
- 关于ajax简单的前台判断
- webservice相关总结
- 组合模式实例之文件浏览
- NBA总决赛中提高篮球水平的神器
- Win7命令行使用MySQL
- 字符串正则表达式匹配
- VC++ 兼容性 资料收集
- MyEclipse10.6 myeclipse2013下添加jadClipse反编译插件