IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> flume处理ftp中的文件并将数据上传到mysql中 -> 正文阅读

[大数据]flume处理ftp中的文件并将数据上传到mysql中

部署文件夹结构

flume   ---- flume源代码,也是flume运行本体
flume-ftp   ---- flume连接ftp工具类
flumeMysqlSink  ----flume将 数据写入mysql工具类
mysqlSink ----flume主要运行配置文件
建表语句   ---- 创建4张表的建表语句

部署

  1. 将文件夹中的【flume】文件夹,放到服务器任何位置即可。
  2. 修改【flume】文件夹中的cong/flume-env文件,修改其中的java位置,将其修改为本地的java地址
  3. 运行命令:
./flume-ng agent -c /usr/local/bigdata/flume/conf -f /usr/local/bigdata/flume/conf/mysqlSink.conf -n agent1 -Dflume.root.logger=INFO,console

创建数据库

根据上传到ftp上面的文件,需要根据上传的文件字段,创建对应的数据库表

创建数据库注意事项:

  1. 第一个字段是【id】主键
  2. 倒数第二个字段是【data_sources】,【varchar】,表示当前数据来源于哪个文件中
  3. 倒数第一个字段是【create_datetime】,【datetime】,表示当前数据的插入时间

flume配置文件解析

整个系统只有一个配置文件【mysqlSink.conf】,全部配置都在这个里面,下面是这个文件的详细解析

agent1.sources = ftp2
agent1.sinks = k1
agent1.channels = ch2

agent1.sources.ftp2.type = org.keedio.flume.source.ftp.source.Source
agent1.sources.ftp2.client.source = ftp
# agent.sources.sftp1.client.source = sftp //如果使用sftp的需要替换
agent1.sources.ftp2.name.server = 192.168.134.100 
agent1.sources.ftp2.port = 21
agent1.sources.ftp2.user = sdd
agent1.sources.ftp2.password = sdd
agent1.sources.ftp2.working.directory = /rs   //读取的ftp目录
agent1.sources.ftp2.filter.pattern = .+\.rs   //匹配文件,使用的是java的正则
#agent1.sources.ftp2.folder = C:/Users/sdd/Downloads  //这个是ftp服务器设置的本地的文件夹,这个用不用都可以
agent1.sources.ftp2.file.name = ftp2-status-file.ser
agent1.sources.ftp2.run.discover.delay=5000
## root is launching flume binary.
# agent.sources.sftp1.knownHosts = /root/.ssh/known_hosts  //ssh安全秘钥

## for testing porposes only, default is yes
# agent.sources.sftp1.strictHostKeyChecking = no
agent1.sources.ftp2.flushlines = true
agent1.sources.ftp2.search.recursive = true
agent1.sources.ftp2.processInUse = false
agent1.sources.ftp2.processInUseTimeout = 30
agent1.sources.ftp2.channels = ch2


agent1.channels.ch2.type = memory
agent1.channels.ch2.capacity = 100000000
agent1.channels.ch2.transactionCapacity = 100000000

//数据库相关
agent1.sinks.k1.type = com.tesnik.flume.sink.MySqlSink
agent1.sinks.k1.url = jdbc:mysql://192.168.134.100:3306/imvno?useUnicode=true&characterEncoding=utf8&useSSL=true
agent1.sinks.k1.user= root
agent1.sinks.k1.password= root123
agent1.sinks.k1.driver= com.mysql.cj.jdbc.Driver
agent1.sinks.k1.databaseName = imvno //数据库
agent1.sinks.k1.tableName = mvno_cdma_prepaid //数据库表
agent1.sinks.k1.partition = \\<\\-\\-\\-\\> //读取的文件的分隔符
agent1.sinks.k1.iscustom = false
agent1.sinks.k1.channel = ch2

完整代码下载:https://download.csdn.net/download/songdongdong6/21137656
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-19 12:07:10  更:2021-08-19 12:09:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:09:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码