python大数据项目中的 DIM层数据处理

一、处理维度表数据

hive的配置

-- 开启动态分区方案

-- 开启非严格模式

set hive.exec.dynamic.partition.mode=nonstrict;

-- 开启动态分区支持(默认true)

set hive.exec.dynamic.partition=true;

-- 设置各个节点生成动态分区的最大数量: 默认为100个 (一般在生产环境中, 都需要调整更大)

set hive.exec.max.dynamic.partitions.pernode=10000;

-- 设置最大生成动态分区的数量: 默认为1000 (一般在生产环境中, 都需要调整更大)

set hive.exec.max.dynamic.partitions=100000;

-- hive一次性最大能够创建多少个文件: 默认为10w

set hive.exec.max.created.files=150000;

-- hive压缩

-- 开启中间结果压缩

set hive.exec.compress.intermediate=true;

-- 开启最终结果压缩

set hive.exec.compress.output=true;

-- 写入时压缩生效

set hive.exec.orc.compression.strategy=COMPRESSION;

当设置完成后 首先需要了解自己项目的表格内容

接下来需要对原始数据进行进一步的处理

如分区处理 和进行宽表连接处理

各类维度表的构建

二 当整个数据仓数据完成后需要进行导出 (PostGreSQL)

1-需要再postGreSQL中创建对应表保存数据

启动datax-web服务 /export/server/datax-web-2.1.2/bin/start-all.sh (需要根据自己在linux中保存datax 的路径)

首先选择任务构建

需要输入指定一个分区目录的参数

逐步完成后在之前的文章中有教学

三 zookeeper介绍

ZooKeeper是一个具有高可用性的高性能分布式协调服务。

数据模型

zk可存储小文件数据,用来保存其他服务的信息,比如保存hdfs的namenode信息,ds的运行信息
ZooKeeper 维护着一个树形层次结构,树中的节点被称为 znode。znode 可以用于存储数据,并且有一个与之相关联的 ACL。ZooKeeper 被设计用来实现协调服务(这类服务通常使用小数据文件),而不是用于大容量数据存储,因此一个 znode 能存储的数据被限制在1MB以内

操作使用

1-登录客户端

/opt/cloudera/parcels/CDH-6.2.1-1.cdh6.2.1.p0.1425774/lib/zookeeper/bin/zkCli.sh

创建新的节点并指定数据

create 节点名(从根节点开始) 数据

get 节点名 进行查看

运行机制

第一阶段 启动服务,进行领导者选举

所有机器通过一个选择过程来选出一台被称为领导者(leader)的机器,其他的机器被称为跟随者(follower)。一旦半数以上(或指定数量)的跟随者已经将其状态与领导者同步,则表明这个阶段已经完成

第二阶段 原子广播进行数据读写

所有的写请求都会被转发给领导者,再由领导者将更新广播给跟随者。当半数以上的跟随者已经将修改持久化之后,领导者才会提交这个更新,然后客户端才会收到一个更新成功的响应。这个用来达成共识的协议被设计成具有原子性,因此每个修改要么成功要么失败。
如果领导者出现故障,其余的机器会选出另外一个领导者,并和新的领导者一起继续提供服务。随后,如果之前的领导者恢复正常,会成为一个跟随者。领导者选举的过程是非常快的,

一致性

一个跟随者可能滞后于领导者几个更新。这也表明在一个修改被提交之前,只需要集合中半数以上机器已经将该修改持久化则认为更新完成

对 ZooKeeper 来说,理想的情况就是将客户端都连接到与领导者状态一致的服务器上

相关推荐
WoShop商城源码2 小时前
武汉迅狐科技:AI赋能企业营销,打造智能获客新范式
大数据·人工智能·科技
Andya_net2 小时前
Elasticsearch | ES索引模板、索引和索引别名的创建与管理
大数据·elasticsearch·jenkins
阿里云云原生3 小时前
SQL开发的智能助手:通义灵码在IntelliJ IDEA中的应用
sql
阿里云大数据AI技术3 小时前
用友畅捷通基于阿里云 MaxCompute 搭建智能数仓的落地实践
大数据·云原生·数据分析
EasyGBS4 小时前
国标GB28181视频平台EasyCVR顺应智慧农业自动化趋势,打造大棚实时视频监控防线
大数据·网络·人工智能·安全·音视频
TDengine (老段)5 小时前
TDengine 窗口预聚集
大数据·数据库·物联网·时序数据库·tdengine·iotdb
TDengine (老段)5 小时前
TDengine JAVA 语言连接器
java·大数据·数据库·物联网·时序数据库·iot·tdengine
在努力的韩小豪7 小时前
MySQL的左连接、右连接、内连接、外连接
数据库·sql·mysql·多表查询·联表查询·左右连接·内外连接
工作中的程序员12 小时前
flink Shuffle的总结
大数据·flink
EasyGBS16 小时前
如何实现两个视频融合EasyCVR平台的数据同步?详细步骤指南
大数据·网络·人工智能·安全·音视频