自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 LinkedList转化为数组

LinkedList用于添加,删除元素。添加,删除之后下一步取可以将它转化为数组val result_value_list = new util.LinkedList[String]val result_str = asScalaBuffer(result_value_list).toArray

2020-05-22 11:28:55 1806

原创 Json数据怎么取

1.先转化为JsonObjectJSONObject jobj = JSON.parseObject((String) o);2.如果只有一个值String key =jobj.keySet().toArray()[0].toString;3.取所有for (Object key : jobj.keySet().toArray()) {String jobj_to_value = jobj.get(to).toString();}

2020-05-21 12:05:24 1224

原创 spark将json转化为map

object JsonUtil extends App {/** * 将map转为json * @param map 输入格式 mutable.Map[String,Object] * @return */def map2Json(map: mutable.Map[String, Object]): String = {val jsonString = JSONObject.toJSONString(map)jsonString}/* * 将json转化为Map * @param json

2020-05-21 11:53:53 938

原创 自己定义何时抛出异常

int i=0;if(i==0){throw new Exception(" I= 0");}

2020-05-11 13:55:30 118

原创 spark开发时,添加、删除多的时候用LinkedList。查找的时候用array

val list= new util.LinkedList[String]list.add(“1”)var array=asScalaBuffer(list).toArray

2020-04-08 19:09:32 126

原创 如何取最小的时间对应的数据

selectmin(array(create_time, task_name))[1] as min_task_namefromtablegroup byuid

2020-01-20 16:24:43 493

原创 spark算子算pv、uv

rdd.filter(line=>{(line.split("\t")(1).startsWith(“2_”) && line.split("\t")(3).split(",").length > 0)}).map(line =>{val value = line.split("\t")val pv = Integer.valueOf(value...

2020-01-03 12:42:58 105

原创 常用spark的算子

val conf = new SparkConf()conf.setAppName(“Matrix_Icon_Models20191215_”+date)val sc = new SparkContext(conf)val rdd =sc.textFile(reqdata,2000).filter(line => (!line.split("\t")(0).equals(""))...

2020-01-03 11:24:33 237

原创 spark程序scala案例

def main(args: Array[String]): Unit = {val date = args(0)//afs://xingtian.afs.baidu.com:9902/app/insight/lbs/lbs_mobile_matrix_user_daily/event_day=20191201/event_type=matrix_stat_daily/000099_0val...

2019-12-25 11:44:18 536

原创 执行spark程序

执行spark任务通过shell脚本#!/bin/shexport LANG=“en_US.UTF-8”#基准时间 当天日期day=date -d "$BASETIME" +"%Y%m%d"#Spark目录,xingtian集群SPARK_HOME="/home/map/spark-client/xingtian"#SPARK_HOME="/home/map/spark-clien...

2019-12-25 11:20:30 101

原创 自定义udtf函数

重点1:自定义udtf函数-extends GenericUDTFprivate transient ObjectInspector[] inputOIs;private MapObjectInspector mapOI = null;private MapObjectInspector mapPhoneInfo = null;Text[] retCols; // 存放输出结果-在i...

2019-12-25 11:01:32 614 1

原创 Hive-sql拼接字段

将字段用collect_set()转化为数组,再用concat_ws()拼接例子:concat_ws(’,’,collect_set(a.cuid)) as cuid

2019-11-27 15:40:19 3136

原创 Spark调度

Spark有驱动器(Driver),执行器(Executor).Driver将RDD拆成task,(每个task相当于partition)。Driver将partition1,partition2,partition3…,分发给Executor,Executor执行task.task通过转化或者行动组成一条逻辑链,每个task再按照这条链运行时互不影响。Executor有2个作用,运行成功...

2019-11-14 17:30:52 83

原创 数据开发用sparkRDD,hive会自定义udf函数

数据开发用sparkRDD,hive会自定义udf函数

2019-11-14 17:21:32 136

原创 维度

维度就是分析的角度,说着挺高大上,其实就是group by 加上维度

2019-11-13 10:16:22 295

原创 Scala——yield

yield的作用:将for循环的值,封装成一个集合。例子:var t = for (i <- 1 to 5)yield i

2019-10-26 17:36:23 141

原创 男女不同的消费频次

select tmp.sex,avg(tmp.ct) from(select userid,sex,count(1) as ct from order ojoinuser uon o.userid=u.useridgroup by userid,sex) tmpgroup by tmp.sex

2019-10-21 22:31:53 233

原创 回购率

select t1.dd,count(t1.m),count(t2.m) from(selectuserid,ddfromordergroup byuserid,dd) t1left join(selectuserid,ddfromordergroup byuserid,dd) t2on t1.userid=t2.useridwheret1.dd-t...

2019-10-21 22:02:35 251

原创 复购率

select count(),count(if tmp.t>1, 1,null),count()/count(if tmp>1 1,null) resultfrom(select userid,count(*) tfrom ordergroup by userid) tmp

2019-10-21 21:51:37 187

原创 分析数据的方法(一)

1.象限法:划分数据2.多维法:分析角度更全面(但要避免辛普森效应——如果一个维度很低会影响总维度的平均值。可以通过下钻避免,下钻将某一角度更细致化)3.假设法:没有数据做出预判4.指数法:(加权、反比例、log)、5.二八法:最有价值的数据是20%...

2019-10-14 12:22:10 102

原创 数据分析的逻辑

1.结构化——金字塔形2.公式化(+,*)可以用来流动人数转化率=客户3.业务化(和业务人员沟通)

2019-10-14 12:17:47 403

原创 时间戳格式的字段截取想要的时间

用到两个函数:unix_timestamp(act_time,‘yyyy-MM-dd HH:mm:ss’)将以yyyy-MM-dd HH:mm:ss格式的时间戳转化为long型的from_unixtime(unix_timestamp(act_time,‘yyyy-MM-dd HH:mm:ss’),‘HH’)将long型的时间戳转化为HH小时...

2019-10-10 16:45:04 1315

原创 常用sql函数——COALESCE

COALESCE返回第一个不是null的值,如果都是null则返回null。例子:select coalesce(log.resid,’’) from 表如果resid值为null,则返回’’如果resid值不为null,则返回log.resid;coalesce函数可以用来处理null值。...

2019-10-10 10:44:21 290

原创 每日用户去重cuid

SELECTa.os,a.cuidFROMlbs_map_user_active_daily_pb aWHEREevent_day=’{DATE}’ANDa.os in (‘android’,‘iphone’)GROUP BYa.os,a.cuid

2019-09-26 18:22:26 346

原创 统计pv、uv

统计pv、uvSELECTa.os,a.sv,a.act,a.teamName,count(a.cuid) as pv,count(distinct a.cuid) as uvFROM aGROUP BYa.os,a.sv,a.act,a.teamName

2019-09-26 11:28:19 615 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除