2020-01-06 学习记录

  为了可以更加优美的写blog,今天专门看了下markdown的文档。先尝试下,反正之后有的要写了。
  言归正传,先总结下今天学习到的东西。算法

学习总结:

1. pyspark的实际使用操做

  pyspark已经学习的差很少了,因此也直接找了个例子来试了下手。具体的过程先不贴出来了,由于不是在本地作的,不太好记录过程。说一下学习的心得:
  1. 目前了解到的pyspark有2种经常使用的类,一种是RDD一种是Dataframe。而后Dataframe能够经过createOrReplaceTempView函数或者sqlContext.registerDataFrameAsTable来转换为表,而后经过sqlContext.sql(“sql 表达式”)来查询和操做。sql

import findspark                      #整段都是初始化的过程
findspark.init()
import os
import pyspark
from time import time
data_file = "../data/kddcup.data_10_percent_corrected"
sc = pyspark.SparkContext(appName="test")
raw_data = sc.textFile(data_file).cache()

from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)
interactions_df = sqlContext.createDataFrame(row_data)          #建立了DF

建表的两种方法:markdown

interactions_df.createOrReplaceTempView("interactions")   

sqlContext.registerDataFrameAsTable(df=interactions_df, tableName='interactions_df')

查询数据:app

sqlContext.sql("select * from interactions_df where protocol_type='tcp'").show(5)

out:
+---------+--------+----+-------------+-------+---------+
|dst\_bytes|duration|flag|protocol\_type|service|src\_bytes|
+---------+--------+----+-------------+-------+---------+
|     5450|       0|  SF|          tcp|   http|      181|
|      486|       0|  SF|          tcp|   http|      239|
|     1337|       0|  SF|          tcp|   http|      235|
|     1337|       0|  SF|          tcp|   http|      219|
|     2032|       0|  SF|          tcp|   http|      217|
+---------+--------+----+-------------+-------+---------+

咱们能够看到使用DF构建表之后咱们就能够是用通常的SQL语句来对数据进行查询了,包括SQL自带的一些功能函数,如group by, order by, distinct,count等等。这样须要的就是sql的知识了。tcp

而后从table转回DF:函数

sqlContext.table('interactions_df')

out:
DataFrame [dst_bytes: bigint, duration: bigint, flag: string, protocol_type: string, service: string, src_bytes: bigint]

转换起来也很是的方便。工具

可是这就留下了一个思考:
咱们有了RDD,DF和TABLE这些储存数据的工具,那么如何抉择呢?学习


2. 集成算法的一些知识

   今天主要讲了XGBOOST, GBDT这种集成类算法,有点乱,后续须要本身补齐算法的知识。这里就不作详解了,后续应该会写出一篇专门关于算法的文章。spa

相关文章
相关标签/搜索