HDFS数据迁移 跨集群传输数据:(由nameservice2集群传入nameservice1集群)这里传输的时候目录要以/结尾,不行就在/添加*hadoop distcp -skipcrccheck hdfs://nameservice2/user/hive/warehouse/ods_yspay_trade.db/ods_orderbill/ hdfs://nameservice1/user/hive/warehouse/temp.db/orderbill_test/1传入之后hive查询不到数据:如果添加
2021-03-18 select * from dwd.settlement_user_pay where (p_batch_code != '20210130_TCBXP(JK-HX-SF)' ) or(a_system !='jk' and b_system !='hx' and p_batch_code = '20210130_TCBXP(JK-HX-SF)')(p_batch_code != '20210130_TCBXP(JK-HX-SF)' 取的是settleme...
instr dwd.settlement_user_pay_month a LEFT JOIN dwd.sf_user_pay_month b ON IF ( INSTR(b.policyno, '_') > 0, SUBSTRING( b.policyno, ...
数据质量管理 一丶数据治理管理的意义对数据仓库建设具有指导意义,是数据仓库建设成功与否的重要衡量指标。能帮助业务系统找到一些不易发现的问题,从侧面反映业务系统的可靠性。有利于提升用户对数据仓库的信任度。二丶元数据管理层面1丶DMP,元数据系统和业务库,hive表结构要保持完全一致,不能缺少字段(一)丶数据层面1丶重复校验对于表的主键以及唯一约束等需要进行重复校验如:单个字段校验,联合字段校验等2丶格式校验(1) 非空校验(’\Null’ , ‘’, Null)(2) 字段长度校验(>、&
hive时间sql Hive 中,可以用String、Date和Timestamp表示日期时间,String 用 yyyy-MM-dd 的形式表示,Date 用 yyyy-MM-dd 的形式表示,Timestamp 用 yyyy-MM-dd hh:mm:ss 的形式表示。这三种数据类型在使用细节上,有一些需要注意的点:在这里插入图片描述在这里插入图片描述Join比较在两表Join时,会涉及到字段的比较,此时应注意:如第一张图所示,如果时间信息中不包含时分秒,String 与 Date、Timestamp 表达的时.
拉链表 拉链表思路2号拉链1,ae,2020-08-25,2020-08-311,aa,2020-09-01,9999-12-312,bb,2020-09-01,2020-09-012,ba,2020-09-02,9999-12-313号增量1,ab3,cc1:拉链表是将数据更加简化,让节约数仓储存空间让数据更加利于计算计算逻辑,如 1 号用户ae假设为加入购物车,.那么当它加入购物车的时候就给出2020-08-25 到9999-12-31那么如果它有下一次操作,就以当...
业务系统与sqoop 1:业务系统业务域的数据来自业务系统的数据库通过sqoop(或datax)抽取到数仓的ods层在ods层对有需要的表进行增量合并,字段选择,反范式话,形成dwd明细层表在明细层基础上,进行各类主题的数据统计、分析课程中,主要分析的主题有:交易域分析 营销域分析 会员域分析2:sqoop1:sqoop是apache旗下的工具主要用于服务器之间传送数据的工具主要核心功能为导入 导出导入:从mysql数据库中导入到hdfs导出:从 Hadoop 的文件系统中.
漏斗sql regexp_extract函数regexp_extract(str, regexp[, idx])参数解释:其中:str是被解析的字符串或字段名regexp 是正则表达式idx是返回结果 取表达式的哪一部分 默认值为1。0表示把整个正则表达式对应的结果全部返回select regexp_extract('hitdecisiondlist','(i)(.*?)(d)',0) ; 返回的是i-d直接的数+------+| _c0 |+---...
新老用户留存 guid和first_dt,rng_start很好解决,rng_end需要判断.昨天不在今天在,那么保留老记录,新添加一行 ----新添加这一行是09 05 -9999-12-21昨天在今天也在 那么嗨是保留记录昨天不在今天也不在保留记录 --保留原纪录)昨天在,今天不在 =T-1新用户 将二表full j...
first_value和last_value SQL中分析函数first_value(),last_value,sum() over(partition by…)详解首先,生成有一张原始表score,s_id表示学生id,c_id表示课程id,s_core表示最后课程的成绩,表结构数据如下所示:首先,按照课程c_id进行分组,按照成绩s_core进行排序select * ,row_number() over (partition by c_id order by s_score)rank_showfrom score1运行结果:
数仓脚本 #!/bin/bash########################################### # @desc: app端埋点日志文件导入ods层表# @target: ods.event_app_log##############################HIVE_HOME=/opt/apps/hive-3.1.2/DT=`date -d'-1 day' +%Y-%m-%d`if [ $1 ]thenDT=$1fi${HIVE_H...
上传jar包到集群 我们的项目是父子工程,jar包都是互相依赖的所以单独打某个jar是不行的,我们将xml加入到想运行的子工程内<build> <plugins> <!-- 把依赖jar中的用到的类,提取到自己的jar中 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifact
hivesql 语法:分析函数over(partition by分组列 order by排序列rows between 开始位置 and 结束位置)常用分析函数: 聚合类 avg()、sum()、max()、min() 排名类 row_number() 按照值排序时产生一个自增编号,不会重复 rank() 按照值排序时产生一个自增编号,值相等时会重复,会产生空位 dense_rank() 按照值排序时产生一个自增编号,值相等时会重复,不会产生空位 其他类 lag(列名,往...
雪花模型和星型模型和三范式 星型模型和雪花模型在多维分析的商业智能解决方案中,根据事实表和维度表的关系,又可将常见的模型分为星型模型和雪花型模型。在设计逻辑型数据的模型的时候,就应考虑数据是按照星型模型还是雪花型模型进行组织。星型模型当所有维表都直接连接到“事实表”上时,整个图解就像星星一样,故将该模型称为星型模型。星型模型星型架构是一种非正规化的结构,多维数据集的每一个维度都直接与事实表相连接,不存在渐变维度,所以数据有一定的冗余,如在地域维度表中,存在国家A省B的城市C以及国家A省B的城市D两条记...
序列化浅谈kyro 序列化经过网络传输,shuffle,将对象转化为二进制.最终落写磁盘需要反序列化解码二进制jdk序列化传入类和对象还有对象内的属性-- 类,和对象==类的元信息因为如果只传入对象,都是二进制不知道从哪分割,如果类还继承了其他类那么也需要将它的父类也要序列化缺点:不仅序列化了属性数据值,还序列化了父类和类的元信息写入磁盘io很大,磁盘占用字节大hadoop序列化交给用户自己定义setmapoutputKeyClass(Text.class) 输入的类反射,下游task知道上游传..
idmaping代码实现 object IdMappingGen { def main(args: Array[String]): Unit = { Logger.getLogger("org").setLevel(Level.WARN) val spark = SparkSession.builder().appName("IDMAPPING映射字典生成").master("local[*]").getOrCreate() import spark.implicits._ import or.
数仓数据清理 今天的需求是清洗数据,给用户添加省市区,添加新老用户,添加idMaping(用户标识)1清洗过滤数据1.1过滤掉日志account及deceid全为空的记录"!(isBlank(deviceid) and isBlank(account))")1.2过滤日志中缺少关键字端properties/eventid/sessionid 缺任何一个都不行"properties is not null and !isBlank(eventid) and !isBlank(sessionid)"1.3过.
布隆过滤器 布隆过滤器,不用将数据存入 byte数组里, 而是存入bit (比特)里通过hashcode%字符串,将hashcode结果映射到bit里,存入为1 不存在为0有可能hash碰撞,本来不在,误判为在, 不可能是不在误判为不在(hbase在底层是通过布隆过滤器,那么如果查找rowkey本来不在确判定在,那么也没有上面影响只是浪费时间查找,不会存在,本来rowkey在这个hfile里,但是出现0不在的情况)改进,用多种hash算法,对同一个事物得到多个hash值映射到bit数组的多个位置 或者增加b..
Union和UnionAll的区别 假设我们有一个表Student,包括以下字段与数据:drop table student; create table student ( id int primary key, name nvarchar2(50) not null, score number not null ); insert into student values(1,'Aaron',78); insert into student values(2,.