系列文章目录
实践数据湖iceberg 第一课.
实践数据湖iceberg 第二课 iceberg基于hadoop的底层数据格式.
实践数据湖iceberg 第三课 在sqlclient中,以sql方式从kafka读数据到iceberg.
实践数据湖iceberg 第四课 在sqlclient中,以sql方式从kafka读数据到iceberg(升级版本到flink1.12.7).
实践数据湖iceberg 第五课 hive catalog特点.
实践数据湖iceberg 第六课 从kafka写入到iceberg失败问题 解决.
实践数据湖iceberg 第七课 实时写入到iceberg.
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
制造数据,每秒生成1条数据,数据有序增长,把这些数据实时写入kafka, kaka写到iceberg提示:以下是本篇文章正文内容,下面案例可供参考
1. 制造数据
准备生成数据脚本
[root@hadoop102 bin]# cat generateLog.sh
#!/bin/bash
for i in {1..10000000};do echo $i,$RANDOM >> /opt/module/logs/mockLog.log; sleep 1s ;done;
生成数据
[root@hadoop102 bin]# nohup ./generateLog.sh > generateLog.log 2>&1 &
[1] 20688
查看生成的数据
[root@hadoop102 logs]# tail -f mockLog.log
2,98562
3,4401
4,69527
5,27391
6,64876
7,32809
8,47124
9,65215
10,55296
11,91302
12,37345
13,56344
14,5092
制造过程中,出错,日志入下图
[root@hadoop102 bin]# cat generateLog.log
nohup: ignoring input
./generateLog.sh: fork: Cannot allocate memory
是因为服务器,使用默认最大进程数,造成,修改一下就OK, 百度一下fork: Cannot allocate memory 就有很多解决方案
后来发现不是进程数的问题。
可能是for的数字太大
我还是改为java写个jar包上来
package org.example;
import java.util.Random;
/**
* Hello world!
*
*/
public class GenerateLog
{
public static void main( String[] args ) throws InterruptedException {
int len = 100000;
int sleepMilis = 1000;
// System.out.println("<生成id范围><每条数据停顿时长毫秒>");
if(args.length == 1){
len = Integer.valueOf(args[0]);
}
if(args.length == 2){
len = Integer.valueOf(args[0]);
sleepMilis = Integer.valueOf(args[1]);
}
Random random = new Random();
for

本文详细介绍使用Flume将实时生成的数据写入Kafka,并利用Flink SQL将Kafka中的行为数据导入Iceberg数据湖的过程。包括数据生成、Flume配置、Kafka表与Iceberg表定义及数据导入步骤。
最低0.47元/天 解锁文章
974

被折叠的 条评论
为什么被折叠?



