Hive
小菜菜1223
qq846792646
展开
-
Hive 两张表数据验证方案、两张大表如何进行数据验证以及剔除部分字段进行数据验证
Hive 两张表数据验证方案、两张大表如何进行数据验证以及剔除部分字段进行数据验证原创 2022-10-12 17:26:08 · 2780 阅读 · 0 评论 -
Hive 数据模型切换后的数据验证方案
Hive 数据模型切换后的数据验证方案原创 2022-09-15 11:23:09 · 1848 阅读 · 0 评论 -
Hive 根据生日计算年龄
Hive 根据生日计算年龄原创 2022-07-13 14:43:22 · 2304 阅读 · 0 评论 -
Hive with项目实战:计算标签覆盖率
今天做项目,要计算用户的标签覆盖率,就是实现这样一个表格:根据用户的最近访问时间,计算这些用户含有某个标签属性的占比。其实做起来不难,但是如何实现需要设计一个思路。Sql思路:1、先根据日期筛选用户2、计算每个标签不为空的数量/该日期内的用户总数其实sql做起来很简单,但是我们进行简单的优化1、将该日期内的用户总数通过with加载到内存2、通过脚本对各个日期维度进行计算,避免写重复sql,最后再对表进行合并代码:1、根据日期筛选用户DROP TABLE IF原创 2022-04-25 11:17:51 · 607 阅读 · 0 评论 -
脚本刷新impala表
很多服务都是通过impala来读取hive表数据。我们每次更新完hive表,可以通过脚本刷新。在脚本中添加:impala-shell -k -q "refresh t_risk.flow_anomaly_monitoring_v2";-k:认证-q:后边跟要执行的sql即可。...原创 2022-04-12 10:56:59 · 1224 阅读 · 0 评论 -
hive join时主表空值过多产生数据倾斜问题
在各个表做关联的时候,如果主表过大且某个值过多再去join其他表很容易产生数据倾斜问题我们的思路就是要将数据均匀的分配到每个任务上这里我们以空值为例,使用rand(1)即可均匀分配数据select * from(select *,case when department in ('-999','') then rand(1) else department end as department2 from profile_v2.detail_member_user_info_base)原创 2022-02-22 15:33:45 · 1372 阅读 · 0 评论 -
python脚本补充两个日期之间的hive数据
#coding:utf-8import osimport datetime#获取之后日期def get_day(st,dt,format="%Y%m%d"): day = st + datetime.timedelta(days=dt) return day.strftime(format)#日期格式转换def format_date(t): return datetime.date(int(t[0:4]),int(t[4:6]),int(t[6:]))#执行.原创 2022-02-22 14:16:20 · 185 阅读 · 0 评论 -
hive 计算两个经纬度之间的距离
select 6378137*2*ASIN(SQRT(POWER(SIN((lat1-lat2)*ACOS(-1)/360),2) + COS(lat1*ACOS(-1)/180)*COS(lat2*ACOS(-1)/180)*POWER(SIN((lng1-lng2)*ACOS(-1)/360),2)));lat1,lng1是第一个点的经纬度lat2,lng2是第二个点的经纬度python和java版本代码:python 计算两个经纬度之间的距离_小菜菜1223的博客-CSDN博客.原创 2022-02-14 10:21:00 · 3312 阅读 · 0 评论 -
hive org.apache.hadoop.hive.ql.exec.CommonMergeJoinOperator.joinOneGroup 报错
今天hive任务报错,查看tez后台failed报错原因是然后关闭优化器再次尝试set hive.cbo.enable=false;运行成功。原创 2022-02-10 18:01:16 · 917 阅读 · 0 评论 -
hive 分区表新增字段 刷新字段值
hive当天分区新增了字段,查询发现全是null1、删除分区ALTER TABLE test DROP PARTITION (dt='20220125');2、查看分区路径desc formatted ods.test partition(dt='20220124');3、重建分区ALTER TABLE ods.test add PARTITION (dt='20220125') location 'hdfs:///20220125';完毕。...原创 2022-01-25 17:15:56 · 2518 阅读 · 0 评论 -
hive分区表添加字段
结尾加上CASCADE好像就不需要刷新历史分区元数据了?ALTER TABLE Database.TableName ADD COLUMNS(col1 STRING COMMENT '备注1') CASCADE;原创 2022-01-19 17:51:01 · 2843 阅读 · 0 评论 -
hive 正则判断字符串是否包含字母
select * from goods_member_stat_v1 where dt='20220118' and sku_id regexp '.*[A-Za-z].*';原创 2022-01-19 17:18:24 · 5104 阅读 · 0 评论 -
hive 利用-touchz保证任务完成,给予完成标记
我们每天跑完hive任务之后,怎样能判断是否任务完成呢。我目前公司的做法是,完成脚本任务后 touchz一个文件进去,后续检测是否完成直接检测文件是否存在即可。原理是:hive底层还是存储到hdfs上,相当于等任务完成之后给上一个标记,只检测目录存在还是存在风险。hadoopfs-touchz/team/dt=20220116/_SUCCESS...原创 2022-01-17 18:52:42 · 347 阅读 · 0 评论 -
Python检测hive依赖表是否生成
提要:1、每天利用python执行hive sql脚本2、执行前检测依赖表是否生成3、依赖表如果生成成功会touch一个success文件到hdfs目录4、循环检测一定次数,失败抛出异常上代码:#coding:utf-8#@auth: lgyimport datetimeimport subprocessimport timeimport sys#获取昨天日期def get_yesterday(format="%Y%m%d"): today = datet原创 2022-01-17 15:45:56 · 940 阅读 · 0 评论 -
hive、impala 求中位数
hive求中位数:(0.5参数可调)select percentile(cast(p as int),0.5) from student2;impala求中位数:select APPX_MEDIAN(error_uv_all) from xxx;原创 2022-01-05 17:36:22 · 3586 阅读 · 0 评论 -
hive spark引擎推送数据到es(elasticsearch)
hive 写入数据到es原创 2021-12-29 17:18:33 · 1688 阅读 · 0 评论 -
Hive load hdfs文件生成hive表
1、上传文件到hdfshdfs dfs -put ./user_id.csv /team/profile/test;2、创建表(进入hive客户端)create table tmp.profile_need_match_view_users(id string) row format delimited fields terminated by '\t';3、load到hive表load data inpath '/team/profile/test/user_id.csv' into原创 2021-12-17 14:37:39 · 3470 阅读 · 0 评论 -
Hive 复制表结构、表数据以及数据库迁移
1、复制表或者迁移数据库CREATE TABLE new_table AS SELECT * FROM old_table;2、复制数据查看老表的hdfs文件位置 (show create table xxx;) old_file_path查看新表的hdfs文件位置 new_file_path;hdfs复制:hadoop fs -cpold_file_pathnew_file_path;3、修复元数据MSCK REPAIR TABLE new_table;修复新表的分区元数据..原创 2021-11-24 11:13:12 · 4267 阅读 · 0 评论 -
shell 脚本导出hive查询结果为csv文件
今天遇到需求,导出hive维表查询结果到csv文件。cat_id1="off_cat_id1,off_cat_name1,c1id"cat_id2="off_cat_id2,off_cat_name2,c2id"cat_id3="off_cat_id3,off_cat_name3,c3id"cat_id4="off_cat_id4,off_cat_name4,c4id"off_brand_id="off_brand_id,off_brand_name,brand_id"array=($c原创 2021-10-27 14:36:43 · 753 阅读 · 0 评论