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

  • 相关阅读:
    箭头函数中的this
    剑指offer(十六) 合并两个排序的链表
    http中的referer
    剑指offer(十四,十五)链表中倒数第k个结点,反转链表
    剑指offer(十二,十三) 数值的整数次方,调整数组顺序使奇数位于偶数前面
    那些短小精悍的&奇葩的&令人感到惊讶的JavaScript代码----更新中
    对箭头函数的补充
    Promise和Async/Await用法整理
    Vue父子组件互相通信实例
    Vue实例里面的data属性为什么用函数返回
  • 原文地址:https://www.cnblogs.com/fenghuoliancheng/p/10675635.html
Copyright © 2011-2022 走看看