数仓的项目练习(ODS篇02)

1.日志数据采集之数据落盘

就是把内存写入磁盘

首先在public之前加上声明

@Slf4j

 在loggerController方法下加上

@Resource
   private KafkaTemplate<String, String> kafkaTemplate;

   //对接mock模块,mock模块发起请求 我们拦截请求做处理
   //请求在 /opt/module/flink_log/application.yml  
   @RequestMapping("applog")
   public String getLogger(@RequestParam("param") String jsonStr){
       //测试数据流
       System.out.println(jsonStr);

       //将数据落盘
       log.info(jsonStr);

       //将数据写入Kafka
       kafkaTemplate.send("ods_base_log", jsonStr);
       return "success";
   }

打开虚拟机中的hadoop和kafka

点击LotterGatterApplication,运行

2.修改SpringBoot核心配置文件

复制下面这些,到箭头指的文件

# 应用名称
spring.application.name=logger-gather

# 应用服务 WEB 访问端口
server.port=8081

#============== kafka ===================
# 指定 kafka 代理地址,可以多个
spring.kafka.bootstrap-servers=hadoop101:9092

# 指定消息 key 和消息体的编解码方式
spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer

直接覆盖复制,不要保留原来的

 删除static

在Resources中新建文件叫logback.xml 

把这些复制进去

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
   <!-- 1.定义的一个变量,因为在本地做测试 value路径需window路径 -->
   <property name="LOG_HOME" value="/opt/module/flink_log/logs" />
   <!-- 定义打印日志方式:打印控制台 -->
   <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
       <encoder>
           <!-- %msg消息  %n换行 -->
           <pattern>%msg%n</pattern>
       </encoder>
   </appender>

   <!-- 定义打印日志方式:滚动文件 -->
   <appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
       <!-- 2.数据最终输出到app.log文件中 -->
       <file>${LOG_HOME}/app.log</file>
       <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
           <fileNamePattern>${LOG_HOME}/app.%d{yyyy-MM-dd}.log</fileNamePattern>
       </rollingPolicy>
       <encoder>
           <pattern>%msg%n</pattern>
       </encoder>
   </appender>

   <!-- 将某一个包下日志单独打印日志 -->
   <!-- name="全类名",如下,只打印LoggerController类里面的数据 -->
   <logger name="com.zr.logger.LoggerApplication.controller.LoggerController"
           level="INFO" additivity="false">
       <!-- 变量引用,如果将下面注释掉只会打印到控制台不会写到文件 -->
       <appender-ref ref="rollingFile" />
       <!-- 变量引用,如果将下面注释掉不会打印到控制台只会写到文件 -->
       <appender-ref ref="console" />
   </logger>

   <root level="error" additivity="false">
       <appender-ref ref="console" />
   </root>
</configuration>

重新启动应用 

 打开kafka和zookeeper

 新开一个hadoop101上输入,打开kafka消费者

kafka-console-consumer.sh --bootstrap-server hadoop101:9092 --topic ods_base_log

运行数据生成包

打开java -jar gmall2020 -mock-log-2020-12-18.jar

3.业务数据采集

首先我们需要在DataGrip中新建数据表,打开DataGrip

新建MySQL

输入自己虚拟机的用户和密码,点击测试连接

这样就算是成功了,点击确定

cd flink_db

在win的host添加映射

C:\Windows\System32\drivers\etc

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值