美文网首页我爱编程
BerkeleyX: CS105x Introduction t

BerkeleyX: CS105x Introduction t

作者: 鹏皓就是我 | 来源:发表于2018-05-14 19:17 被阅读0次

    前言

    课程是UC Berkeley的关于Spark 的课程,地址如下:

    Data Science and Engineering with Apache Spark

    他们这系列课分为三门,这是最基础的一门的课堂笔记,我在前几天刚刚开始学,因为上课总是在印象笔记上写,觉得拿出来可能会帮到大家整理笔记。我本人对NLP 和 Deep Learning,比较感兴趣,以后也会自己继续学习相关课程,然后分享笔记。之前对Machine Learning 有粗略的涉及,希望以后通过积累,慢慢变强。

    在网上学了这门课,看这个笔记才有帮助,我觉得。

    第一讲:先是入门介绍 什么是big data?

    先粗略讲一下这么多data从哪里来

    User generate content

    Health and Scientific Computing

    data from network, computer network…)

    Web server

    Internet of Things

    然后就是基本概念的介绍, 如data model, schema

    Structure Spectrum

        A data model is a collection of concepts for describing data.

        A schema is a description of a particular collection of data using a given data model.

    如图

    Unstructured data, 像纯文本文件 没有schema(摘要),像什么微博啊,图片,视频

    Semi-Structured data : XML,被标注的视频等等

    Structured Data(RDB 就是一个例子),但是只有不到20%,会越来越少,因为unstructured data 越来越多。

    我们倾向于处理 structured or semi-structured data. 所以我们需要 ETL ,把unstructed data 转换成我们喜欢处理的。

    第二讲:Analysis, Big Data and Apache Spark

    先介绍传统的 分析工具, r, pandas 什么的, 但是局限性在,他只在一个机器上跑。

    大数据带来的问题

    数据成长的比计算速度快

    Storage 和 相对停滞的计算速度,已经成为一个计算的瓶颈了

    例如,硬盘的读写速度

    解决方法, 分布式储存和计算。 partition后存在内存里,是spark的关键

      4.    Spark 的 组成结构 

    当跑spark 程序时,一个driver program, 和很多个worker program 

    第三讲:Apache Spark DataFrames

    这一讲,开始说spark中基础的东西。

    首先,什么是 DataFrames

    Spark 中 有两种 operations:

    transformations

    actions

    transformations 是 ‘lazy‘的,这些命令 直到action才真正的被执行(executed)

    第四讲:Apache Spark Transformations

    这节课主讲Spark 中 transformation 的东西,入什么select,drop等。 有基础的人这部分很好理解,注意的是,这些命令没有真正的被执行,就像是写了个“菜谱”

    诸如一些例子,这些当自己写的时候,再查是最好的

    第五讲:Apache Spark Actions

    之前都是 lazy evaluation, 直到action的时候,其实什么都没做,相当于存了个 菜谱

    collect 收集所有的record,所以要注意. 建议不要用collect, 用show 和 take

    注意:count() 在处理group data 时候 是transform, 在处理df时,是action

    .cache() 能把你想要的存起来,这样不用每次都算一遍

    注意: 在写spark 程序时,有些思维需要变一下,因为要处理的数据量很大,例如把两张表合起来这个事情,之前的思维就是 A + B 就好了,但是在spark里不要这么做,因为内存可能会溢出,举个例子:

    这样做就是错的!

    正确的做法应该如下:

    这就是 Spark 的第一周的课的笔记。

    相关文章

      网友评论

        本文标题:BerkeleyX: CS105x Introduction t

        本文链接:https://www.haomeiwen.com/subject/vlnjdftx.html