• 在用Python读一个两个多G的txt文本时,天真的直接用readlines方法,结果一运行内存就崩了。 还好同事点拨了下,用yield方法,测试了下果然毫无压力。咎其原因,原来是readlines是把文本内容全部放于内存中,而yield...

        在用Python读一个两个多G的txt文本时,天真的直接用readlines方法,结果一运行内存就崩了。

        还好同事点拨了下,用yield方法,测试了下果然毫无压力。咎其原因,原来是readlines是把文本内容全部放于内存中,而yield则是类似于生成器。

     

    代码如下:

    def open_txt(file_name):
        with open(file_name,'r+') as f:
            line = f.readline()
            while line:
                yield line.strip()
                line = f.readline()

     

     

    调用实例:

    for text in open_txt('aa.txt'):
        print text

     

     

    转载于:https://my.oschina.net/jhao104/blog/646905

    展开全文
  • 博文1:pandas.read_csv——分块读取大文件 ... 今天在读取一个超大csv文件的时候,遇到困难...首先使用office打不开然后在python中使用基本的pandas.read_csv打开文件时:MemoryError最后查阅read_csv文档发现可以

    博文1:pandas.read_csv——分块读取大文件

    http://blog.csdn.net/zm714981790/article/details/51375475

    今天在读取一个超大csv文件的时候,遇到困难:

    • 首先使用office打不开
    • 然后在python中使用基本的pandas.read_csv打开文件时:MemoryError
    • 最后查阅read_csv文档发现可以分块读取。
    • read_csv中有个参数chunksize,通过指定一个chunksize分块大小来读取文件,返回的是一个可迭代的对象TextFileReader,IO Tools 举例如下:
    In [138]: reader = pd.read_table('tmp.sv', sep='|', chunksize=4)
    
    In [139]: reader
    Out[139]: <pandas.io.parsers.TextFileReader at 0x120d2f290>
    
    In [140]: for chunk in reader:
       .....:     print(chunk)
       .....: 
       Unnamed: 0         0         1         2         3
    0           0  0.469112 -0.282863 -1.509059 -1.135632
    1           1  1.212112 -0.173215  0.119209 -1.044236
    2           2 -0.861849 -2.104569 -0.494929  1.071804
    3           3  0.721555 -0.706771 -1.039575  0.271860
       Unnamed: 0         0         1         2         3
    0           4 -0.424972  0.567020  0.276232 -1.087401
    1           5 -0.673690  0.113648 -1.478427  0.524988
    2           6  0.404705  0.577046 -1.715002 -1.039268
    3           7 -0.370647 -1.157892 -1.344312  0.844885
       Unnamed: 0         0        1         2         3
    0           8  1.075770 -0.10905  1.643563 -1.469388
    1           9  0.357021 -0.67460 -1.776904 -0.968914
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 指定iterator=True 也可以返回一个可迭代对象TextFileReader :
    In [141]: reader = pd.read_table('tmp.sv', sep='|', iterator=True)
    
    In [142]: reader.get_chunk(5)
    Out[142]: 
       Unnamed: 0         0         1         2         3
    0           0  0.469112 -0.282863 -1.509059 -1.135632
    1           1  1.212112 -0.173215  0.119209 -1.044236
    2           2 -0.861849 -2.104569 -0.494929  1.071804
    3           3  0.721555 -0.706771 -1.039575  0.271860
    4           4 -0.424972  0.567020  0.276232 -1.087401
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    • 我需要打开的数据集是个csv文件,大小为3.7G,并且对于数据一无所知,所以首先打开前5行观察数据的类型,列标签等等
    chunks = pd.read_csv('train.csv',iterator = True)
    chunk = chunks.get_chunk(5)
    print chunk
    '''
                 date_time  site_name  posa_continent  user_location_country  
    0  2014-08-11 07:46:59          2               3                     66   
    1  2014-08-11 08:22:12          2               3                     66   
    2  2014-08-11 08:24:33          2               3                     66   
    3  2014-08-09 18:05:16          2               3                     66   
    4  2014-08-09 18:08:18          2               3                     66   
    '''
    博文2:python大规模数据处理技巧之一:数据常用操作

    http://blog.csdn.net/asdfg4381/article/details/51689344

    面对读取上G的数据,Python不能像做简单代码验证那样随意,必须考虑到相应的代码的实现形式将对效率的影响。如下所示,对pandas对象的行计数实现方式不同,运行的效率差别非常大。虽然时间看起来都微不足道,但一旦运行次数达到百万级别时,其运行时间就根本不可能忽略不计了:

    p1

    故接下来的几个文章将会整理下渣渣在关于在大规模数据实践上遇到的一些问题,文章中总结的技巧基本是基于pandas,有错误之处望指正。

    1、外部csv文件读写


    大数据量csv读入到内存


    • 分析思路:数据量非常大时,比如一份银行一个月的流水账单,可能有高达几千万的record。对于一般性能的计算机,有或者是读入到特殊的数据结构中,内存的存储可能就非常吃力了。考虑到我们使用数据的实际情况,并不需要将所有的数据提取出内存。当然读入数据库是件比较明智的做法。若不用数据库呢?可将大文件拆分成小块按块读入后,这样可减少内存的存储与计算资源
    • 注意事项:open(file.csv)与pandas包的pd.read_csv(file.csv ): python32位的话会限制内存,提示太大的数据导致内存错误。解决方法是装python64位。如果嫌python各种包安装过程麻烦,可以直接安装Anaconda2 64位版本
    • 简易使用方法:
        chunker = pd.read_csv(PATH_LOAD, chunksize = CHUNK_SIZE)
    • 1
    • 1
    • 读取需要的列:
        columns = ("date_time",  "user_id")
        chunks_train = pd.read_csv(filename, usecols = columns, chunksize = 100000)
    • 1
    • 2
    • 1
    • 2

    chunker对象指向了多个分块对象,但并没有将实际数据先读入,而是在提取数据时才将数据提取进来。数据的处理和清洗经常使用分块的方式处理,这能大大降低内存的使用量,但相比会更耗时一些

    • 分块读取chunk中的每一行:
        for rawPiece in chunker_rawData:
            current_chunk_size = len(rawPiece.index)   #rawPiece 是dataframe
            for i in range(current_chunk_size ):
                timeFlag = timeShape(rawPiece.ix[i])   #获取第i行的数据
    • 1
    • 2
    • 3
    • 4
    • 1
    • 2
    • 3
    • 4

    将数据存到硬盘


    • 直接写出到磁盘:
        data.to_csv(path_save, index = False, mode = 'w')`
    • 1
    • 1
    • 分块写出到磁盘:
    1. 对于第一个分块使用pandas包的存储IO: 
      • 保留header信息,‘w’模式写入
      • data.to_csv(path_save, index = False, mode = 'w')
    2. 接下的分块写入 
      • 去除header信息,‘a’模式写入,即不删除原文档,接着原文档后继续写
      • data.to_csv(path_save, index = False, header = False, mode = a')
    • 少量的数据写出:

    少量的数据用pickle(cPickle更快)输出和读取,非常方便 ,下面分别是写出和读入

    写出:

        import cPickle as pickle
        def save_trainingSet(fileLoc, X, y):
            pack = [X, y]
            with open(fileLoc, 'w') as f:
                pickle.dump(pack, f)
    • 1
    • 2
    • 3
    • 4
    • 5
    • 1
    • 2
    • 3
    • 4
    • 5

    读入:

        import cPickle as pickle
        def read_trainingSet(fileLoc):
            with open(fileLoc, 'r') as f:
                pack = pickle.load(f)
            return pack[0], pack[1]
    • 1
    • 2
    • 3
    • 4
    • 5
    • 1
    • 2
    • 3
    • 4
    • 5

    高效读取外部csv到python内部的list数据结构


    • 效率低下的方法:使用pd读入需要从pd转换到python本身的数据结构,多此一举
        userList = []
        content = pd.read_csv(filename)
        for i in range(len(content)):
            line = content.ix[i]['id']
            userList.append(line)
    • 1
    • 2
    • 3
    • 4
    • 5
    • 1
    • 2
    • 3
    • 4
    • 5
    • 效率高的方法:直接将外部数据读入进来
        userList = []
        f = open(filename)
        content = f.readlines()
        for line in content:
            line = line.replace('\n', '').split(',')
            userList.append(line)
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2、数据分析时常用数据结构之间的转化


    数据集的横向与纵向合并


    • 简单地横向合并数据集:
    • 问题分析: 
      • 纵向的合并使用list并不好,因为需要去拆解list的每一个行元素,并用extend去拓展每一行的纵向元素
      • 最好使用dataframe中的concat函数:c = pd.concat([a, b], axis = 1),当axis=0时表示合并行(以行为轴)
        inx1 = DataFrame(np.random.randn(nSample_neg), columns = ['randVal'])
        inx2 = DataFrame(range(nSample_neg), columns = ['inxVal'])
        inx = pd.concat([inx1, inx2], axis = 1)
    • 1
    • 2
    • 3
    • 1
    • 2
    • 3
    • 类似数据库的表合并:join(待完整)
        ret = ret.join(dest_small, on="srch_destination_id", how='left', rsuffix="dest")
    • 1
    • 1
    • 简单纵向合并数据集:
    • 纵向合并数据集可以考虑一下几种方法: 
      • 读取数据为list格式,使用append函数逐行读取
      • 将数据集转换为pandas中的dataframe格式,使用dataframe的merge与concat方法
    • 方法: 
      • 方法一:使用dataframe读入,使用concat把每行并起来
      • 方法二:先使用list读入并起来,最后转换成dataframe
      • 方法三:先使用list读入并起来大块的list,每块list转换成dataframe后用concat合并起来
    • 比较:方法一由于concat的静态性,每次要重新分配资源,故跑起来很慢; 方法二与三:会快很多,但具体没有测试,以下是使用方法三的代码:
        data = []
        cleanedPiece = []
        for i in range(CHUNK_SIZE):
            line = rawPiece.ix[i]
            uid = [line['user_id'], line['item_id'],
                line['behavior_type'], timeFlag]
            cleanedPiece.append(uid)
        cleanedPiece = DataFrame(cleanedPiece, columns = columns)
        data = pd.concat([data, cleanedPiece], axis = 0)



    展开全文
  • python快速读取大数据1

    2019-07-21 06:45:42
    1 rd = pd.read_csv(path7 + u'0501-0914.csv',encoding = 'gbk',iterator = True) 2 loop =True 3 dflst = [] 4 i = 0 5 while loop: 6 try: 7 i+=1 8 df0 = rd.get_chunk(50...
     1 rd = pd.read_csv(path7 + u'0501-0914.csv',encoding = 'gbk',iterator = True)
     2 loop =True
     3 dflst = []
     4 i = 0
     5 while loop:
     6     try:
     7         i+=1
     8         df0 = rd.get_chunk(50000)
     9         dflst.append(df0)
    10     except StopIteration:
    11         loop = False
    12 #        print 'stop'
    13 df = pd.concat(dflst,ignore_index =True)

     

    转载于:https://www.cnblogs.com/lyf136686029/p/9928255.html

    展开全文
  • python 大数据入门教程

    2018-12-07 17:35:38
    Python大数据行业非常火爆近两年,as a pythonic,所以也得涉足下大数据分析,下面就聊聊它们。 Python数据分析与挖掘技术概述 所谓数据分析,即对已知的数据进行分析,然后提取出一些有价值的信息,比如统计...

    Python在大数据行业非常火爆近两年,as a pythonic,所以也得涉足下大数据分析,下面就聊聊它们。

    Python数据分析与挖掘技术概述

    所谓数据分析,即对已知的数据进行分析,然后提取出一些有价值的信息,比如统计平均数,标准差等信息,数据分析的数据量可能不会太大,而数据挖掘,是指对大量的数据进行分析与挖倔,得到一些未知的,有价值的信息等,比如从网站的用户和用户行为中挖掘出用户的潜在需求信息,从而对网站进行改善等。
    数据分析与数据挖掘密不可分,数据挖掘是对数据分析的提升。数据挖掘技术可以帮助我们更好的发现事物之间的规律。所以我们可以利用数据挖掘技术可以帮助我们更好的发现事物之间的规律。比如发掘用户潜在需求,实现信息的个性化推送,发现疾病与病状甚至病与药物之间的规律等。

    预先善其事必先利其器

    我们首先聊聊数据分析的模块有哪些:

    1. numpy 高效处理数据,提供数组支持,很多模块都依赖它,比如pandas,scipy,matplotlib都依赖他,所以这个模块都是基础。所以必须先安装numpy。
    2. pandas 主要用于进行数据的采集与分析
    3. scipy 主要进行数值计算。同时支持矩阵运算,并提供了很多高等数据处理功能,比如积分,微分方程求样等。
    4. matplotlib 作图模块,结合其他数据分析模块,解决可视化问题
    5. statsmodels 这个模块主要用于统计分析
    6. Gensim 这个模块主要用于文本挖掘
    7. sklearn,keras 前者机器学习,后者深度学习。

    下面就说说这些模块的基础使用。

    numpy模块安装与使用

    安装:
    下载地址是:http://www.lfd.uci.edu/~gohlke/pythonlibs/
    我这里下载的包是1.11.3版本,地址是:http://www.lfd.uci.edu/~gohlke/pythonlibs/f9r7rmd8/numpy-1.11.3+mkl-cp35-cp35m-win_amd64.whl
    下载好后,使用pip install "numpy-1.11.3+mkl-cp35-cp35m-win_amd64.whl"
    安装的numpy版本一定要是带mkl版本的,这样能够更好支持numpy

    numpy简单使用

    import numpy
    
    x=numpy.array([11,22,33,4,5,6,7,])  #创建一维数组
    x2=numpy.array([['asfas','asdfsdf','dfdf',11],['1iojasd','123',989012],["jhyfsdaeku","jhgsda"]])    #创建二维数组,注意是([])
    
    x.sort()   #排序,没有返回值的,修改原处的值,这里等于修改了X
    x.max()    # 最大值,对二维数组都管用
    x.min()    # 最小值,对二维数组都管用
    x1=x[1:3]   # 取区间,和python的列表没有区别

    生成随机数

    主要使用numpy下的random方法。

    #numpy.random.random_integers(最小值,最大值,个数)  获取的是正数
    data = numpy.random.random_integers(1,20000,30)   #生成整形随机数
    #正态随机数  numpy.random.normal(均值,偏离值,个数)  偏离值决定了每个数之间的差 ,当偏离值大于开始值的时候,那么会产生负数的。
    data1 = numpy.random.normal(3.2,29.2,10)    # 生成浮点型且是正负数的随机数

    pandas

    使用pip install pandas即可

    直接上代码:
    下面看看pandas输出的结果, 这一行的数字第几列,第一列的数字是行数,定位一个通过第一行,第几列来定位:

    print(b)
          0     1     2    3    
    0     1     2     3  4.0
    1  sdaf  dsaf  18hd  NaN
    2  1463  None  None  NaN

    常用方法如下:

    import pandas
    a=pandas.Series([1,2,3,34,])   # 等于一维数组
    b=pandas.DataFrame([[1,2,3,4,],["sdaf","dsaf","18hd"],[1463]])   # 二维数组
    print(b.head())  # 默认取头部前5行,可以看源码得知
    print(b.head(2))  # 直接传入参数,如我写的那样
    print(b.tail())   # 默认取尾部前后5行
    print(b.tail(1))     # 直接传入参数,如我写的那样

    下面看看pandas对数据的统计,下面就说说每一行的信息

    # print(b.describe())   # 显示统计数据信息
             3      # 3表示这个二维数组总共多少个元素
    count  1.0      # 总数
    mean   4.0      # 平均数
    std    NaN      # 标准数
    min    4.0      # 最小数
    25%    4.0      # 分位数
    50%    4.0      # 分位数
    75%    4.0      # 分位数
    max    4.0      # 最大值

    转置功能:把行数转换为列数,把列数转换为行数,如下所示:

    print(b.T)   # 转置
       0     1     2   
    0  1  sdaf  1463
    1  2  dsaf  None
    2  3  18hd  None
    3  4   NaN   NaN

    通过pandas导入数据

    pandas支持多种输入格式,我这里就简单罗列日常生活最常用的几种,对于更多的输入方式可以查看源码后者官网。

    CSV文件

    csv文件导入后显示输出的话,是按照csv文件默认的行输出的,有多少列就输出多少列,比如我有五列数据,那么它就在prinit输出结果的时候,就显示五列

    csv_data = pandas.read_csv('F:\Learnning\CSDN-python大数据\hexun.csv')
    print(csv_data)

    excel表格

    依赖于xlrd模块,请安装它。
    老样子,原滋原味的输出显示excel本来的结果,只不过在每一行的开头加上了一个行数

    excel_data = pandas.read_excel('F:\Learnning\CSDN-python大数据\cxla.xls')
    print(excel_data)

    读取SQL

    依赖于PyMySQL,所以需要安装它。pandas把sql作为输入的时候,需要制定两个参数,第一个是sql语句,第二个是sql连接实例。

    conn=pymysql.connect(host="127.0.0.1",user="root",passwd="root",db="test")
    sql="select * from fortest"
    e=pda.read_sql(sql,conn)

    读取HTML

    依赖于lxml模块,请安装它。
    对于HTTPS的网页,依赖于BeautifulSoup4,html5lib模块。
    读取HTML只会读取HTML里的表格,也就是只读取<table>标签包裹的内容.

    html_data = pandas.read_html('F:\Learnning\CSDN-python大数据\shitman.html')   # 读取本地html文件。
    html_from_online = pandas.read_html('https://book.douban.com/')  # 读取互联网的html文件
    print(html_data)
    print('html_from_online')

    显示的是时候是通过python的列表展示,同时添加了行与列的标识

    读取txt文件

    输出显示的时候同时添加了行与列的标识

    text_data = pandas.read_table('F:\Learnning\CSDN-python大数据\dforsay.txt')
    print(text_data)

    scipy

    安装方法是先下载whl格式文件,然后通过pip install “包名” 安装。whl包下载地址是:http://www.lfd.uci.edu/~gohlke/pythonlibs/f9r7rmd8/scipy-0.18.1-cp35-cp35m-win_amd64.whl

    matplotlib 数据可视化分析

    我们安装这个模块直接使用pip install即可。不需要提前下载whl后通过 pip install安装。

    下面请看代码:

    from matplotlib import  pylab
    import numpy
    # 下面2行定义X轴,Y轴
    x=[1,2,3,4,8]
    y=[1,2,3,4,8]
    # plot的方法是这样使用(x轴数据,y轴数据,展现形式)
    pylab.plot(x,y)   # 先把x,y轴的信息塞入pylab里面,再调用show方法来画图
    pylab.show()    # 这一步开始画图,默认是至线图

    画出的图是这样的:
    image

    下面说说修改图的样式

    关于图形类型,有下面几种:

    1. 直线图(默认)
    2. - 直线
    3. -- 虚线
    4. -. -.形式
    5. : 细小虚线

    关于颜色,有下面几种:

    1. c-青色
    2. r-红色
    3. m-品红
    4. g-绿色
    5. b-蓝色
    6. y-黄色
    7. k-黑色
    8. w-白色

    关于形状,有下面几种:

    1. s 方形
    2. * 星形
    3. p 五角形

    我们还可以对图稍作修改,添加一些样式,下面修改圆点图为红色的点,代码如下:

    pylab.plot(x,y,'or')   # 添加O表示画散点图,r表示red
    pylab.show()

    image

    我们还可以画虚线图,代码如下所示:

    pylab.plot(x,y,'r:')
    pylab.show()

    还可以给图添加上标题,x,y轴的标签,代码如下所示

    pylab.plot(x,y,'pr--')   #p是图形为五角星,r为红色,--表示虚线
    pylab.title('for learnning')   # 图形标题
    pylab.xlabel('args')   # x轴标签
    pylab.ylabel('salary')   # y轴标签
    pylab.xlim(2)    # 从y轴的2开始做线
    pylab.show()

    image

    直方图

    利用直方图能够很好的显示每一段的数据。下面使用随机数做一个直方图。

    data1 = numpy.random.normal(5.0,4.0,10)   # 正态随机数
    pylab.hist(data1)
    pylab.show()

    image
    Y轴为出现的次数,X轴为这个数的值(或者是范围)

    还可以指定直方图类型通过histtype参数:

    图形区别语言无法描述很详细,大家可以自信尝试。

    1. bar :is a traditional bar-type histogram. If multiple data
      are given the bars are aranged side by side.
    2. barstacked :is a bar-type histogram where multiple
      data are stacked on top of each other.
    3. step :generates a lineplot that is by default
      unfilled.
    4. stepfilled :generates a lineplot that is by default
      filled.

    举个例子:

    sty=numpy.arange(1,30,2)
    pylab.hist(data1,histtype='stepfilled')
    pylab.show() 

    image

    子图功能

    什么是子图功能呢?子图就是在一个大的画板里面能够显示多张小图,每个一小图为大画板的子图。
    我们知道生成一个图是使用plot功能,子图就是subplog。代码操作如下:

    #subplot(行,列,当前区域)
    pylab.subplot(2,2,1)   # 申明一个大图里面划分成4块(即2*2),子图使用第一个区域(坐标为x=1,y=1)
    pylab.subplot(2,2,2)  # 申明一个大图里面划分成4块(即2*2),子图使用第二个区域(坐标为x=2,y=2)
    x1=[1,4,6,9]
    x2=[3,21,33,43]
    pylab.plot(x1,x2)   # 这个plot表示把x,y轴数据塞入前一个子图中。我们可以在每一个子图后使用plot来塞入x,y轴的数据
    pylab.subplot(2,1,2)  # 申明一个大图里面划分成2块(即),子图使用第二个区域(坐标为x=1,y=2)
    pylab.show()

    实践小例子

    我们现在可以通过一堆数据来绘图,根据图能够很容易的发现异常。下面我们就通过一个csv文件来实践下,这个csv文件是某个网站的文章阅读数与评论数。
    先说说这个csv的文件结构,第一列是序号,第二列是每篇文章的URL,第三列每篇文章的阅读数,第四列是每篇评论数。
    我们的需求就是把评论数作为Y轴,阅读数作为X轴,所以我们需要获取第三列和第四列的数据。我们知道获取数据的方法是通过pandas的values方法来获取某一行的值,在对这一行的值做切片处理,获取下标为3(阅读数)和4(评论数)的值,但是,这里只是一行的值,我们需要是这个csv文件下的所有评论数和阅读数,那怎么办?聪明的你会说,我自定义2个列表,我遍历下这个csv文件,把阅读数和评论数分别添加到对应的列表里,这不就行了嘛。呵呵,其实有一个更快捷的方法,那么就是使用T转置方法,这样再通过values方法,就能直接获取这一评论数和阅读数了,此时在交给你matplotlib里的pylab方法来作图,那么就OK了。了解思路后,那么就写吧。

    下面看看代码:

    
    csv_data = pandas.read_csv('F:\Learnning\CSDN-python大数据\hexun.csv')
    dt = csv_data.T   # 装置下,把阅读数和评论数转为行
    readers=dt.values[3]   
    comments = dt.values[4]
    pylab.xlabel(u'reads')
    pylab.ylabel(u'comments')   # 打上标签
    pylab.title(u"The Article's reads and comments")
    pylab.plot(readers,comments,'ob')
    pylab.show()

    image

     

    展开全文
  • 该课程采用时下后的编程语言Python讲解,囊括了当前火的大数据技术Spark/Hadoop/Hive知识,学习环境是基于Docker搭建的5个容器。通过这门课程不仅可以学到Spark/Hadoop/Hive大数据知识,还可以学到当下后的云计算...
    Python玩转大数据—221人已学习 
    课程介绍    
    jpg
        该课程采用时下后的编程语言Python讲解,囊括了当前火的大数据技术Spark/Hadoop/Hive知识,学习环境是基于Docker搭建的5个容器。通过这门课程不仅可以学到Spark/Hadoop/Hive大数据知识,还可以学到当下后的云计算技术Docker.
    课程收益
        通过这门课程,带领广大学员入门大数据,胜任大数据Spark开发工作,熟悉Docker云计算容器技术,掌握Spark基于RDD的原理知识,熟练使用Spark Sql进行数据分析,挑战Spark ML机器学习。
    讲师介绍
        张敏更多讲师课程
        大数据工程师/算法工程师/大数据讲师,毕业于西华大学软件工程专业。在大数据领域有着丰富的实战经验。 擅长领域:Spark/Hadoop、算法设计及系统架构、数据挖掘、机器学习~。在Spark内核方面有深入的研究,参与Scala基础入门,Spark内核及性能优化相关书籍部分内容的编写工作。
    课程大纲
      第1章:课程简介
        1.课程学习路径简介  13:23
      第2章:Docker知识快速入门
        1.什么是Docker技术  8:21
        2.为什么要使用Docker  4:53
        3.Docker中的基本概念  5:42
        4.Docker安装  4:14
        5.Docker获取镜像  8:19
        6.Docker创建镜像(1)  9:06
        7.Docker创建镜像(2)  10:25
        8.Docker本地导入镜像  7:26
        9.Docker保存、载入、删除镜像  5:14
        10.Docker容器的创建、启动和停止  11:19
        11.Docker命令进入容器后台  8:59
        12.Docker命令导入导出和删除容器  7:46
        13.Docker公有仓库Docker Hub  10:26
        14.Docker私有仓库的创建  8:36
        15.Docker中的数据卷  15:26
        16.Docker制作数据卷容器  10:30
        17.Docker数据卷容器实现备份、恢复和迁移  11:06
        18.Docker容器绑定外部端口和IP  11:26
        19.容器互联  8:19
        20.一个完整的例子  35:10
        21.Dockerfile基本结构讲解  8:33
        22.Dockerfile中常见的13中指令  21:48
      第3章:Docker搭建Spark学习环境,一键部署So Easy!
        1.Spark基础核心讲解  18:59
        2.镜像制作方案和集群网络规划及子网配置和SSH无密钥登录配置  17:04
        3.Hadoop、HDFS、Yarn配置文件详解  18:04
        4.Spark及Hive配置文件详解  13:11
        5.Dockerfile制作Hadoop/Spark/Hive镜像  26:51
        6.启动5个容器并启动Hadoop/Spark/Hive集群  38:11
      第4章:pyspark基础及原理快速入门,细致详尽
        1.pyspark模块介绍  14:12
        2.SparkContext编程入口及Accumulator  17:45
        3.addFile方法和SparkFiles的get方法详解  22:24
        4.binaryFiles读取二进制文件  5:02
        5.Broadcast广播变量原理及setLogLevel设置日志级别  17:05
        6.文件的读取和保存及runJob方法和parallelize创建RDD  23:31
        7.union方法和statusTracker详解  7:16
        8.aggregate和aggregateByKey的异同  16:48
        9.collectAsMap和fold方法的立即及正确使用  16:42
        10.foreach和foreachPartitions原理及性能对比  6:16
        11.histogram和lookup方法作用及使用  17:47
        12.reduce、sampleStdev等方法详解  16:54
        13.使用sequenceFile读写序列文件  6:44
        14.takeSample,treeAggregate方法使用  17:55
        15.coalesce,repartition方法使用技巧及原理  20:41
        16.cogroup、combineByKey、aggregateByKey的异同及性能对比  17:07
        17.foldByKey,groupBy,groupWith三个方法的对比及原理  18:14
        18.集合操作intersection,subtract,union的使用  4:39
        19.join,fullOuterJoin等RDD的关联操作详解  5:58
        20.glom,mapPartions,mapValues详解  13:20
        21.pipe,randomSplit,sampleByKey等方法详解  8:03
        22.sortBy,sortByKey,values,zip等方法详解  9:25
        23.StorageLevel中常见的存储级别及使用  4:34
        24.SparkConf对象详解  11:04
        25.广播变量深入讲解  6:36
        26.Accumulator累加器详解  4:05
        27.StatusTracker对Spark作业运行状态监控  4:49
        28.Catalog对象详解  36:07
      第5章:pyspark之SparkSQL,入门到精通
        1.pyspark之SparkSQL模块介绍  14:29
        2.SparkSession编程入口  13:20
        3.掌握创建DataFrame的八种方法  21:13
        4.range和udf用户自定义函数讲解  20:39
        5.agg聚合方法及设置数据缓存  21:17
        6.colRegex及corr计算皮尔森相关系数  19:57
        7.crossJoin笛卡尔积和cube多维数据立方体  18:25
        8.explain,dropna及filter和where算子详解  19:33
        9.groupBy,intersect,join方法详解  19:22
        10.rollup,replace和randomSplit方法详解  18:22
        11.summary统计方法及toPandas转换为Pandas对象  29:56
        12.GroupedData对象  30:05
        13.Column对象(上)  30:24
        14.Column对象(下)  19:06
        15.Row对象详解  5:35
        16.DataFrameNaFunctions空数据处理  12:24
        17.DataFrameStatFunctions统计模块详解  11:05
        18.DataFrameReader读取外部数据生成DF  20:04
        19.DataFrameWriter当DF写入外部存储  22:19
        20.types类型详解  15:03
        21.functions函数模块详解  16:06
      第6章:pyspark机器学习,挑战高薪
        1.本地密集、稀疏向量和LabeledPoint向量  22:55
        2.本地矩阵和四种分布式矩阵  32:24
        3.Statistics基本的统计方法  20:18
        4.假设检验、随机数据的生成和核密度估计  13:23
        5.Piplines构建机器学习工作流  43:43
        6.TF-IDF词频逆文档数和Word2vec词向量表示  27:45
        7.CountVectorizer和Tokenizer和正则特征  14:17
        8.PCA主成分分析、多项式核函数扩展特征空间、数据正则化  34:13
        9.分桶器、向量组合器、SQL转换器及元素缩放器  17:22
        10.特征个数过滤器、缺失值处理器、类别编码器、向量类别判断器  21:26
        11.逻辑回归算法、原理、公式推导及二分类、多分类实践  28:43
        12.完全理解L1、L2正则化及其作用  22:26
        13.决策树算法原理,随机森林,梯度提升树代码实践  41:45
        14.多层感知机分类算法  13:05
        15.SVM支持向量机分类算法  21:41
        16.OneVsRest多分类算法  5:37
        17.Naive Bayes朴素贝叶斯分类器  10:03
        18.Linear Regression线性回归  24:15
        19.GLMs广义线性模型  7:00
        20.回归树  11:22
        21.K-Means聚类算法  21:06
        22.二分K均值分类  6:24
        23.GMM高斯混合模型  7:30
        24.基于ALS交替最小二乘的协同过滤推荐算法电影推荐实践  37:14
        25.FP-Growth频繁项集推荐算法  14:39
        26.超参数网格搜索  21:22
        27.大数据生态圈的十年  2:56
    大家可以点击【查看详情】查看我的课程
    展开全文
  • 使用python脚本上传大数据集CSV文件到MySQL # -*- coding: utf-8 -*- """ Created on Thu Jun 7 14:54:14 2018 @author: YFX """ #--------------------------------------------...
  • 今天为大家带来的内容是如何用Python处理大数据?3个小技巧助你提升效率(建议收藏)本文具有不错的参考意义,希望能够帮助到大家! 首先,提出个问题:如果你有个5、6 G 大小的文件,想把文件内容读出来做一些处理...
  • import pandas as pd def read_data(file_name): ‘’’ file_name:文件地址 ‘’’ inputfile = open(file_name, ‘rb’) #可打开含有中文的地址 data = pd.read_csv(inputfile, iterator=True) ...
  • 本节书摘来自异步社区《Python和HDF 5大数据应用》一书中的第1章,第1.1节,作者[美]Andrew Collette(科莱特),胡世杰 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。 第1章 简介 我刚毕业那会遇到...
  • 使用Python导入数据集
  • Python大数据处理方案

    2018-03-26 21:30:37
    Mysql SQLyog导入导出csv文件SQLyog 导出表中数据存为csv文件1. 选择数据库表 --&gt; 右击属性 --&gt; 备份/导出 --&gt; 导出表数据作为 --&gt; 选择cvs --&gt; 选择下面的“更改” --&gt;...
  • python的培训学习中,我们会用python进行数据分析的学习与应用,并且在这一部分进行绘图是必不可少的,所以为了看一下大家的实力,今天我们python培训安排了python大数据与机器学习Matplotlib练习题十道,来看下你...
  • Python乱炖每周三赠书时间到~《Python大数据与机器学习实战》5本包邮!查看文章尾部参与赠书随着5G时代的来临、企事业单位信息化系统的不断完善以及物联网的兴起,数据...
  • 示例:python用dataset导入900w条数据到oracle dataset可以批量导入数据库,以dict结构就可以导入数据库 import dataset import logging import time def handle_txt(): ids = [] uids= [] with open('./xxx.txt'...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • mysql导入csv大数据

    2019-08-23 14:41:17
    python3.6 数据集来自kaggle:ieee-fraud-detection中的identity_test.csv ######################################################################################### 总体思路: 1.代码连接数据库建立表格 2...
  • 实验环境 CentOS镜像为CentOS-7-x86_64-Everything-1804.iso 虚机配置 节点名称 IP地址 子网掩码 CPU/内存 磁盘 安装方式 master 192.168.204.101 255.255.255.0 1核心/4GB ...255.255.255.0...
  • 如果你有个5、6 G 大小的文件,想把文件内容读出来做一些处理然后存到另外的文件去,你会使用什么进行处理呢?不用在线等,给几个错误示范:有人用...Python处理大数据的劣势: 1、python线程有gil,通俗说就是多线...
  • 大数据以及报表测试中,我们都需要自己写sql(查询源表),跟开发写好的sql生成数据(查询结果表)做对比。大数据数据基本都是使用impala或者hive查询。使用的ui工具就是dbvisualizer。数据过多的时候需要抽样检查,...
  • Python玩转大数据--105精讲视频 大数据工程师/算法工程师/大数据讲...
1 2 3 4 5 ... 20
收藏数 12,677
精华内容 5,070