Starrocks异步物化视图的使用以及注意事项 最近在使用starrocks来进行实时数据项目的开发,尝试使用了一下starrocks的异步物化视图。使用版本: 3.1.2-4f3a2ee创建完成后,数据会进行初始化计算。
SparkSQL与parquet,处理decimal类型数据时遇到的问题及注意事项 Spark SQL为了更好的性能,在读写Hive metastore parquet格式的表时,会默认使用自己的Parquet SerDe,而不是采用Hive的SerDe进行序列化和反序列化。设置为true时,数据会以Spark1.4和更早的版本的格式写入。究其原因是因为按照上述两个参数的配置,testdb.item中fee_rate字段类型为decimal(10,6),数据为0.000000,经过一系列处理0.000000最终会被处理为0,看下边最终导致空指针异常的部分,就会一目了然。
spark3使用hive zstd压缩格式总结 ZSTD(全称为Zstandard)是一种开源的无损数据压缩算法,其压缩性能和压缩比均优于当前Hadoop支持的其他压缩格式,本特性使得Hive支持ZSTD压缩格式的表。Hive支持基于ZSTD压缩的存储格式有常见的ORC,RCFile,TextFile,JsonFile,Parquet,Squence,CSV。ZSTD压缩格式的表和其他普通压缩表的SQL操作没有区别,可支持正常的增删查及聚合类SQL操作。写出的文件使用zstd压缩,spark3才开始支持。
hive 视图操作 Hive 中的视图和 RDBMS 中视图的概念一致,都是一组数据的逻辑表示,本质上就是一条 SELECT 语句的结果集。视图是纯粹的逻辑对象,没有关联的存储 ,当查询引用视图时,Hive才将视图的定义与查询结合起来。
数据仓库,Hive中使用 != 或 <>符号进行条件过滤时的坑 最近在建设数据仓库,处理数据的过程中,经常反复使用hive的HQL语句,尽管HQL和SQL语言有很多相同之处,但也并不是说HQL就能通用SQL的语法。在使用过程中要尤为注意。事情经过是这样的,我在把业务系统数据同步到数仓(数据存储在Hive)中时,在数据汇总层(DWS),对数据进行汇总处理时,发现有数据丢失的问题,经过排查,发现是在使用 引发的坑。
oracle 会话内存占用情况查询 对应的如果是查询sga内存的话,sn.NAME LIKE ‘session pga memory’ 改为 sn.NAME LIKE ‘session sga memory’ 即可。
【第三节】- StreamGraph构建过程 当添加一条有虚拟节点指向下游节点的边时,会找到虚拟节点上游的物理节点,在两个物理节点之间添加边,并把虚拟转换操作的属性附着上去。这样通过 StreamNode 和 SteamEdge,就得到了 DAG 中的所有节点和边,以及它们之间的连接关系,拓扑结构也就建立了。继续往下执行,执行到doTransform方法的时候, 获取当前执行环境,将当前。最后sink操作,同样的会获取当前执行环境,将对应的。继续往下,同样的会获取当前执行环境,将对应的。中运行的任务的接口,包括流式任务和批任务。
【第一节】- flink源码编译 分析flink源码,第一步从flink源码编译开始。环境:1、首先在flink 官网下载最新的源码下载链接: https://flink.apache.org/zh/downloads/
MYSQL中redo log和binlog之间的区别 这里,我们可以举个例子,现在我们想对数据库的数据进行修改操作,现在一条 update 语句过来,一般 update 操作都伴随着查询的操作,得先找到这条数据,然后再进行更新操作对吧。binlog 文件写满后,会自动切换到下一个日志文件继续写,而不会覆盖以前的日志,这个也区别于 redo log,redo log 是循环写入的,即后面写入的可能会覆盖前面写入的。redo log 的大小是固定的,前面的内容会被覆盖,一旦写满,就会触发 redo log 到磁盘的同步,以便腾出空间记录后面的修改。
kafka connect结合debezium采集oracle数据的时候,任务失败重启的数据偏移量问题 这将导致旧 SCN 值和新提供的 SCN 值之间发生的更改丢失,并且不会写入主题。当连接器报告找不到此偏移 SCN 时,这表明仍然可用的日志不包含 SCN,因此连接器无法从它停止的地方挖掘更改。Debezium Oracle 连接器在偏移量中维护两个关键值,一个名为 scn 的字段 和另一个名为commit_scn的字段。找出连接器的最后一个偏移量、存储它的键并确定用于存储偏移量的分区。重启对应的task,就可以从设置的新的低水位线开始消费了。找出包含连接器偏移量的主题的名称。属性的值进行配置的。
oracle中查看pga内存占用, Linux 查看操作系统PGA内存占用 我们平时为ORACLE分配内存除了考虑ORACLE自身占用的内存外,还要考虑进程本身占用的操作系统内存。RSS列为真正的进程占用内存大小,可以看到每个ORACLE进程都差不多占用了30M的操作系统内存。RES列为进程占用的操作系统内存大小,基本在30M左右。PGA_ALLOC_MEM:PGA分配的空间。PGA_FREEABLE_MEM:可释放空间。PGA_USED_MEM:PGA可用空间。PGA_MAX_MEM:PGA最大空间。当然通过TOP命令来看也是最方便的。
flink CDC2.3.0修改源码升级debezium版本至1.9.7,详细步骤以及操作流程 该问题在flink CDC2.3.0中并没有得到解决,由于flinkCDC底层依赖了debezium, 所以该问题的根源出在debezium这里,查debezium的issues发现,在debezium 1.9.3的时候,debezium修复了这个bug, 并且增加了新的配置参数来解决这个问题,所以如果要在flinkCDC侧解决这个问题,只能通过对flinkCDC的源码进行升级,接下来就介绍一下详细的源码修改步骤。
Debezium-oracle-connector 1.9.7 源码分析 由于生产上需要用到debezium采集oracle的数据,所以本着用一个工具就需要了解其运行原理的初衷,对debezium相关的源码进行分析。好了,直接开始吧。首先,我们需要通过一段代码找到debezium执行的入口。相关的pom依赖:
使用debezium采集oracle数据报错: NonRelationalTableException: Table xxx is not a relational table 使用debezium采集oracle日志数据的时候报错: Table xxx is not a relational table报错日志如下: ```javatraceorg.apache.kafka.connect.errors.ConnectException: An exception occurred in the change event producer. This connector will be stopped.
Flink消费kafka的debezium-json数据(包含增删改消息),将数据同步到starrocks 只能更换方案使用高版本debezium + kafka connect的方式来同步对应的数据到kafka中,后面使用flink sql消费对应的kafka消息,来达到实时同步的目的。
starrocks 表日期字段设置时间默认值 由于使用starrocks需要存在数据的写入时间,source端数据没有对应的时间字段,且不能手动加入时间字段,故需要在starrocks中添加默认时间字段。date字段会更新为最新的时间。