美文网首页spark||flink||scala
spark的collect()函数

spark的collect()函数

作者: 小甜瓜Melon | 来源:发表于2017-07-19 17:50 被阅读2270次
    1. spark中的collect操作是将远程数据通过网络传输到本地,如果数据量特别大的话,会造成很大的网络压力,更为严重的问题是会造成driver端的内存溢出。

    2. foreach是依次遍历远程集群上的RDD中的元素。collect()和foreach,二者的区别有点类似于Python中的range函数和xrange函数。

    code1

    tb = hiveContext.sql("select * from tb")
    type(tb) 是一个pyspark.sql.dataframe.DataFrame
    type(tb.columns)是一个list;
    

    code2

    tb1 = hiveContext.sql("select * from tb1").collect()
    type(tb1)变成了一个list;
    

    变成一个list之后,可以采用循环的方式去遍历其中的每一个数据。

    code3

    tb2 = hiveContext.sql("select * from tb2").toPandas()
    type(tb2)变成了一个pandas.core.frame.DataFrame
    type(tb2.columns)变成了一个pandas.indexes.base.Index
    type(tb2.index)变成了一个pandas.indexes.range.RangeIndex
    

    完。

    相关文章

      网友评论

        本文标题:spark的collect()函数

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