pyspark实践汇总4

1. 对数据框中的时间戳转换为字符串型的时间

data1 = data.withColumn("newdate",from_unixtime(data['stamptime'],format='yyyyMMdd'))

2. 对数据框中的多列进行分组

data1 = data.groupBy(["column1","column2","column3"]).count()

3. 通过时间滑动窗口进行分组统计:对data数据框中的date列进行窗口大小为3天,滑动距离为1天进行统计

from pyspark.sql.functions import window

data1 = data.groupBy(window(data.date,"3 days","1 days"),data.column2,data.column3).count()

4. 使用requests包调用接口

import requests

url = "http://192.168.11.112:8091/api/taskStart"

start = {"date":"20180813","taskName":"Data_Ready"}

rstart = requests.post(url,json= start)

rstart1 = rstart.json()   /数据解析

print rstart1.get("result") /获取结果

5. 根据字符时间获取前几个月的字符时间

import datetime

def getmonth(thisdate,premonths):

        date = datetime.datetime.strptime(thisdate,'%Y%m')

        date1 = date - relativedelta(months=premonths)

        str1 = date1.strftime('%Y%m')

        return str1

getmonth("201808",2)    //例如这里会得到"201806"

6. pyspark 读取.lzo格式的数据

data = sqlContext.read.json(/user/zhang/*.lzo)

如有任何问题可以加群R语言&大数据分析456726635或者Python & Spark大数636866908与我联系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值