阿里云
huobumingbai1234
路漫漫其修远兮,吾将上下而求索
展开
-
hiveUDF-json对象新加一行数据
需求内容,json对象需要新加一行数据{"a":1} -> {"a":1,"b",2}这个可以通过sql拼接进来,感觉不太严谨,如果有嵌套的json对象,可能识别会有问题,新写了一个函数。我使用了GSON这个类package udf;import com.aliyun.odps.udf.UDF;import com.google.gson.*;public class JsonAdd extends UDF{ public String evaluate(Strin原创 2021-02-17 20:52:07 · 412 阅读 · 0 评论 -
hive-UDF-计算某个标记值的数量;ab值检测
1、主要是计算某个字段值里面的标记值,比如某个字符串有多少个逗号package udf;import com.aliyun.odps.udf.UDF;public class MarkCount extends UDF{ public Long evaluate(String text,String sub){ int count =0, start =0; while((start=text.indexOf(sub,start))>=0){原创 2020-12-13 19:50:36 · 487 阅读 · 0 评论 -
hive删除字母组成的分区
删除所有分区,但是不删除表结构:alter table bigdata2c.dim_trd_supplier drop if exists partition(business rlike '^[\u4e00-\u9fa5_a-zA-Z0-9]+$');原创 2020-12-09 10:45:53 · 129 阅读 · 0 评论 -
hive用户标签体系的任务怎么写
背景: 最近有接到业务上的这么个需求,每天计算圈定用户的一些标签,同时把新增和移除标签的信息及当前用户的信息发给下游,举例: 这个用户昨日新增了tag3和tag2这个标签,同时当前codes也是这2个任务设计:首先,存储每天的全量的计算结果,因为新增和减少都需要和之前的数据作比较才知道,同时全部的codes用全量的结果然后,用昨天的数据和前天的数据full join下,这样形成一个新增和减少的关系表最后,按照指定格式取出来新增和减少的code及当前的codes...原创 2020-12-03 03:25:05 · 561 阅读 · 0 评论 -
json数组解析
工作中会有这样的数据类型,需要规则化的解析出来方便下游使用解析如下:select crawler_data_time ,nav ,model ,author_id ,nick_name ,follower_num ,create_time ,get_json_object(concat('{',report_1,'}'),'$.distribution_key') as distribution_key ,get_json_object(concat('.原创 2020-10-18 14:56:47 · 816 阅读 · 0 评论 -
基于pyodps读本地文件上传到odps
本地文件有传输到odps的需要,虽然阿里云dataworks有这样的操作界面,但是文件内容有个逗号啥的就会有问题,所以专门写个脚本处理这一步。处理逻辑: pandas_read_csv ---->pyodps的dataframe------>odps代码如下,简单方便:# -*- coding: utf-8 -*-import pandas as pdfrom odps import ODPSfrom odps.df import Dat...原创 2020-08-03 20:56:44 · 2432 阅读 · 0 评论 -
用户性别预测
一、背景 公司的注册信息里没有用户性别这一项,但是我们的场景算是电商,如果知道用户的性别,对用户的商品推荐及排序都会比较重要,产品体验会更好二、大致思路 参考现有的数据,一种是用户的维度数据,比如用户使用的手机型号,用户装的app(会有很多维的数据),用户是不是活动来的(我们平台的拉新活动),另一种是用户在app上的行为,比如用户浏览的商品的价格,用户选择的尺码,用...原创 2020-02-21 22:13:18 · 3944 阅读 · 0 评论 -
hive正常数据转化为json数组
工作中,大多数时候会需要把json数组中的数据解析出来,现在会经常和后端打交道,后端同学就希望把正常的行列数据用json的形式给他们,他们使用起来方便,我看有的文章会写用udtf函数实现,不过本着能用内置函数绝不用自定义函数的原则(主要是我不会写),用内置函数实现也不是很难。 原数据形式: 希望转换成一个标准的json数组,{ 下装款型: ...原创 2019-10-27 13:11:47 · 12859 阅读 · 0 评论 -
阿里云环境下纯sql构建日期维度表
一个完整的数据仓库,日期维度表是必不可少的,对于数据的多维度处理是一个很好的东西。现在的工作环境是阿里云,在这个环境下用纯sql构建了一个日期维度表,主要字段包含以下结果,后续农历日期将通过udf实现,再补充进来数据生产方案先借用调度系统的补数据方案补指定日期内的数据:主要字段包含以下数据:create table dim_date_data( `dt` bi...原创 2019-07-01 22:59:04 · 1515 阅读 · 0 评论 -
阿里云odps循环删除分区
阿里云环境下,循环删除分区操作,通过pyodps实现: 我的分区字段是dt,类型是bigintt = o.get_table('tmp_activity_push')for a in range(20190501,20190530): date = 'dt =' + str(a) print(date) t.delete_partition(d...原创 2019-07-01 22:45:40 · 2724 阅读 · 0 评论 -
json数组解析的两种形式-hive
单个json我们很容易的可以用get_json_object进行解析,json数组就需要用复杂的方式了1、可以用UDTF,这个是阿里云环境下小伙伴帮忙写的,但是这个不能和原数据进行关联,就是只能取这一个字段import com.aliyun.odps.udf.UDFException;import com.aliyun.odps.udf.UDTF;import com.aliyun....原创 2018-12-29 23:28:32 · 2284 阅读 · 0 评论 -
数据仓库实践-阿里云环境
上一篇文章大致讲了数据仓库构建的理论部分,这一篇以实际工作为例,大致的整理下数据仓库的构建,也算是工作的总结;同时由于使用的是云平台,所以很多hadoop系列的技术问题基本都没有。一、工作背景 所在部门的主要业务主要做的是电商导购,主要数据分为订单业务数据和流量数据,由于不牵涉到订单结算和物流系统,所以业务相对较简单。订单数据很小,这一部分的处理不是大问题,每...原创 2018-12-17 00:12:09 · 1353 阅读 · 0 评论 -
阿里云dataworks/maxcomputer和自建集群的对比
云平台近几年在飞速发展,有些公司也会把自己的在线业务和离线数据业务迁移到阿里云上,一方面节省研发成本,另一方面服务更加稳定,下面我以自己粗浅的认识对比下两者。指标 自建集群 云平台 研发要求 高 低 自由度 高 低 研发配置 数仓/集群搭建 数仓 学习成本 高 低 工种配置 数仓组+平台组+大数...原创 2018-11-24 20:25:44 · 4954 阅读 · 0 评论