zoukankan      html  css  js  c++  java
  • 大数据计算

    实时计算:flume+kafka+storm/sparkstreaming+redis/hbase
    离线计算:flume/ftp/sqoop(获取数据)+hdfs(存储数据)+hive(数据仓库)+SparkSQL(进行数据离线计算)+sqoop+mysql/hbase/redis(计算后的数据存储)

    Flume采集实现
    1、在若干个服务器上部署agent节点,修改配置文件
    2、启动agent节点,将采集到的数据汇聚到指定的HDFS目录中

    使用pyspark进行spark-submit

    实验环境:

    1.pyspark 1.6.0

    2.python 2.7

    本次主要写的是用pyspark提交任务时,需要注意的地方及遇到的问题的解决。

    Step 1. 提交python工程

    在提交spark的时候,我们往往python工程是多个python文件,彼此之间有调用关系。

    那如何提交python工程呢?

    ./bin/spark-submit –py-files XXXX.zip aaa.py即可

    XXXX是你将你所有需要用到的python文件打包成一个zip文件

    aaa是你的python文件的main函数所在的py文件。

    Step 2. python 版本问题不一致

    提交以后,我遇到了cannot different version python 2.6 in driver and python 2.7….

    大概是这样的错误,是说不同节点的python版本不一致,导致的运行错误。

    解决方法:

    import os

    os.environ['PYTHONPATH']='python2'

    Step 3. 提交任务以后,遇到ascii编码问题

    其实我们是想要utf-8默认运行python的,但是就算你在文件里指定了

    #coding:utf-8

    依然没用。

    解决方法:

    import sys

    reload(sys)

    sys.setdefaultencoding('utf-8')

    数据处理流程:

    1.数据采集

      Flume:web日志写入到HDFS

    2.数据清洗

      脏数据

      Spark,Hive,MapReduce或者其他一些分布式计算框架,清洗完之后的数据可以存放在HDFS(Hive,Spark SQL)

    3.数据处理

      按照需求进行相应业务的统计和分析

      Spark,Hive,MapReduce或者其他一些分布式计算框架

    4.处理结果入库

      结果可以存放到RDBMS,NoSQL,调用相应的API就可以实现。

    5.数据的可视化

      通过图形化展示的方式展现出来:饼图,柱状图,地图,折线图(ECharts,HUE,Zeppelin)

    开发环境版本:

    Anaconda2-4.2.0(Windows 64和Linux 64位)
    pycharm-community-2016.2.3
    Python-2.7.9
    spark-1.6.1-bin-2.5.0-cdh5.3.6
    hadoop-2.5.0-cdh5.3.6
    hive-0.13.1-chd5.3.6

  • 相关阅读:
    GEF: 图形拖拽处理
    【矩阵快速幂】bzoj1297 [SCOI2009]迷路
    【扩展欧几里得】NOIP2012同余方程
    【高精度乘法】NOIP2003麦森数
    【数论·错位排列】bzoj4517 排列计数
    【数论】Lucas
    【NOIP2012】疫情传递
    【NOIP2012】旅行计划
    【Manacher算法】求最长回文串的优秀算法
    【Tarjan】洛谷P3379 Tarjan求LCA
  • 原文地址:https://www.cnblogs.com/fenghuoliancheng/p/10675635.html
Copyright © 2011-2022 走看看