Learning Spark (1)

        刚毕业那会,对大数据技术很感兴趣,那会也是该项技术被炒的热度很高的时候。但是出于各种各样的原因,对这方面的技术始终没有很好学习和应用。工作上多数情况下都还是单机训练模型,做特征工程。因此对这方面技术的学习逐渐疏忽。但是这严重的影响了一个算法工程师的处理数据能力的上限,因此,觉得这部分技术还是有必要加强一下。

        关于Spark原理方面不做过多描述了,在单机环境下,采用pyspark库对spark提供API进行调用,我没有花时间去搭建集群,这部分比较消耗精力和时间,所以学习重点还是在pyspark所提供的算法API本身,事实上在真实场景下,从单机环境到集群环境的迁移,代码层面上并不需要太多改动,仅仅是参数的设置问题,故在单机环境下学习pyspark是没有问题的。

  • 基础环境搭建
  1. 安装java,hadoop,spark,参考各个安装博客,问题不大。
  2. 配置好环境变量,JAVA_HOME, HADOOP_HOME, SPARK_HOME等。
  3. 在anconda环境下,pip install pyspark,即可使用python来操作Spark

        按照我以前的技术理念,Spark原生态支持scala,肯定想着花时间去学习一下这门语言,如今觉得,把时间消费在对某种编程语言的语法糖和语言特性上,不如将精力放在待解决问题本身上去更为重要。

  • 测试环境
import os
import sys
spark_home = os.environ.get('SPARK_HOME', None)
if not spark_home:
    raise ValueError('SPARK_HOME environment variable is not set')
sys.path.insert(0, os.path.join(spark_home, 'python'))
sys.path.insert(0, os.path.join(spark_home, 'python/lib/py4j-0.10.7-src.zip'))
comm=os.path.join(spark_home, 'python/lib/py4j-0.10.7-src.zip')
print ('start spark....',comm)
exec(open(os.path.join(spark_home, 'python/pyspark/shell.py')).read())

 

如图所示,单机环境搭建成功。启动http://localhost:4041 (默认),可开打spark的提供的监控界面,可监控执行任务。

 

  • 简单实验 
# 默认启动会创建sc对象,即SparkContext
rdd = sc.parallelize(range(10))  
# 查看数据
rdd.collect()
# 求均值
rdd.mean()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值