- 博客(16)
- 收藏
- 关注
原创 hviesql及sparksql数组及数组嵌套json的生成和解析
摘要:本文展示了SQL处理数组和JSON数据的几种方法:1) 将行数据聚合成数组字符串格式;2) 构建包含年龄和汽车数组的二维JSON结构;3) 解析数组字符串为多行记录;4) 解构嵌套JSON中的年龄和汽车信息为平面表格。主要使用concat_ws、collect_list等聚合函数和explode、json_tuple等解析函数,适用于Hive等大数据SQL环境,有效解决了结构化数据与半结构化数据间的转换需求。(150字)
2025-06-16 19:42:50
230
转载 数据库、数据仓库、数据湖、湖仓一体分别是什么?
https://support.huaweicloud.com/dws_faq/dws_03_2121.html
2023-04-28 17:57:25
233
原创 hive脚本模板
–task_name :dwd_xxx.sql –chinese_name :xxx表 –input_table :dwr.dwd_xxx –output_table :dwr.dwd_xxx –developers :xxx –create_date :2022-05-26 –update_info :2022-05-30 set mapred.job.name = dwr.dwd_xxx.developer_id.${hiveconf:date}
2022-05-30 21:05:50
245
原创 Hive常用参数总结
1、Map相关 –一个MapTask内存可使用的资源上限(单位:MB),默认为1024,如果MapTask实际使用的资源量超过该值,则会被强制杀死 set mapreduce.map.memory.mb = 1024; –设置map jvm内存(小于map内存) set mapreduce.map.java.opts = -Xmx3276; – 每个MapTask可使用的最多cpu core数目,默认值: 1 set mapreduce.map.cpu.vcores = 1; –执行Map前进行小文件合并
2022-05-30 19:32:31
1912
原创 OLTP、OLAP、HTAP之间的区别
1、OLTP 联机事务处理 事件驱动、面向应用,主要特性: (1)数据是应用系统产生的 (2)每次处理的数据量很小 (3)相应时间要求高 (4)用户量大,并发度高 (5)各种数据操作主要基于索引进行 2、OLAP 联机分析处理 (1)主要用来分析处理数据仓库的数据,主要用来查询数据 (2)数据来源是OLTP系统中的操作数据 (3)查询的数据量大,而且会涉及到多表连接、全表扫描等复杂查询 (4)相应时间与具体的查询有很大的关系 (5)用户数量相对较小,并发度低,主要面向业务人员和管理人员 3、HTAP 混合事
2022-01-27 16:58:51
4352
原创 shell脚本传入当前时间获取其他常用时间
#!/bin/bash # 需要传入的日期格式:yyyyMMdd-hhmmss 例如:20220125-205555 start_date=$1 #截取获取日期和时间 arr=(${start_date//-/ }) day=${arr[0]} # 获取当前日期 now_day=`date -d "$day" "+%Y%m%d"` now_day_=`date -d "$day" "+%Y-%m-%d"` # 获取本周第一天日期 day_week=`date -d "$now_day" +%u`
2022-01-25 21:16:50
3314
原创 数据仓库维度建模——维度表设计
一、基本概念 1、维度 查看事实的角度称为维度 2、维度属性 维度所包含的表示维度的列的列,称为维度属性,一般是查询约束条件,分组和报表标签生成的基本来源。 3、获取维度的方式 (1)可以在报表需求中获取 (2)可以在相关的业务过程中发现和挖局 4、维度的主键 用于标识维度的唯一性,分为两种类型: (1)代理键 不具有具体业务含义的键,一般用于处理缓慢变化维。 (2)自然键 具有业务含义的键。 二、设计方法和步骤 1、选择维度或者新建维度 在这个过程中需要保证维度的唯一性,有且只允许有一个维度定义,比如商品
2021-12-31 19:28:27
4393
原创 数据仓库维度建模——事实表设计
一、 事实表相关概念 1、 粒度 1.1 什么是粒度 事实表中一条记录说表达的业务细节程度被称为粒度。 1.2 两种常用表现形式 (1)使用维度属性组合来表示的细节程度。 (2)表示的具体的业务含义。 事实 2.1 什么是事实 业务过程中具体的度量值称为事实,比如发货数量、支付金额等。 2.2 三种类型的事实(根据是否可加分类) (1)可加事实:可以按照与事实表关联的任意维度进行汇总。 (2)半可加事实:只能按照特定的维度进行汇总,不能对所有维度汇总。一般对于不可加性事实需要分解为可加的事实放到事实表(事
2021-12-30 21:07:53
2459
1
原创 lead函数在统计页面浏览时长中的应用
创建页面浏览记录表 create table if not exists page_view ( ,page_id string comment '页面id' ,page_status string comment '浏览状态:1:退出;0:进入' ,ux_event_time string comment '发生时间(毫秒)' ) comment '页面.
2021-12-30 19:35:12
344
原创 Hive如何开启mapjoin优化
set hive.optimize.skewjoin=true; //有数据倾斜时开启负载均衡,默认false set hive.auto.convert.join=true; //设置自动选择MapJoin,默认是true set hive.auto.convert.join.noconditionaltask=true; //map-side join set hive.auto.convert.join.noconditionaltask.size=300000000; //多大的表可以自动触发放到内
2021-12-06 18:12:56
2234
原创 Scala数组和Java集合List的互转
import java.util import scala.collection.mutable import scala.collection.mutable.ArrayBuffer object ArrayToJavaList { def main(args: Array[String]): Unit = { //创建一个Scala的可变数组 val arrBuffer = ArrayBuffer[Int](1, 2) //将Scala的数组转化为Java的List
2021-01-08 22:52:57
1281
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅