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与我联系。