# kafkaPractice **Repository Path**: chuyukang/kafkaPractice ## Basic Information - **Project Name**: kafkaPractice - **Description**: 云计算数据收集入库部分 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-06-05 - **Last Updated**: 2021-05-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 云计算大作业 数据采集部分 本仓库为云计算大作业数据采集部分的简单实现代码,简单到很多操作都在main里完成 项目没有将数据文件包含在仓库中,需要在/src/resources文件夹下补充record.json文件 ### 运行方式 1. 打包。idea 右侧 Maven选项框 -> kafkaPractice -> Lifecycle -> package 2. 将生成的jar包(位于target目录下)通过scp上传到集群 例如, ```cmd cd target scp kafkaPractice-1.0-SNAPSHOT-jar-with-dependencies.jar root@x.x.x.x:~/ ``` 3. 通过命令java -cp xxx.jar 类名 来运行对应的类 例如: ```bash java -cp kafkaPractice-1.0-SNAPSHOT-jar-with-dependencies.jar kafka.SimpleProducer ``` ### 代码对应的功能 #### 可运行的类 kafka.SimpleProducer 将record.json文件按行读出,进行简单判断后发往不同kafka topic kafka.Consumer 接收“test-topic”和"test-topic-wrong"中的数据,发布订阅到相应的redis channel中,并由设定的回调函数将数据存入HBase表中 hbase.Test #### 辅助类 kafka.SimpleConsumer 以Record对象格式解析kafka topic中的数据,并发送至redis channel中 hbase.RecordMapper 将Record对象插入HBase数据库的类 hbase.HBaseConf 获取HBase配置和表 hbase.CreateNewTable 重新排列行键创建新表,并将原来的数据导入到新表中 ### 参考资料 [kafka OrcHome](https://www.orchome.com/kafka/index) [BigDataNotes仓库](https://github.com/heibaiying/BigData-Notes)