wordpress整站加密格朗图手表网站
- 作者: 五速梦信息网
- 时间: 2026年03月21日 08:04
当前位置: 首页 > news >正文
wordpress整站加密,格朗图手表网站,怎样用8uftp做网站,公司开发个网站多少钱实训笔记8.24 8.24笔记一、Sqoop数据迁移工具1.1 Sqoop的基本概念1.2 Sqoop的基本操作1.2.1 命令语法1.2.2 list-databases1.2.3 list-tables1.2.3 eval1.2.4 import1.2.5 export1.2.6 导入 二、Flume日志采集工具2.1 数据采集的问题2.2 数据采集一般使用的技术2.3 扩展#x… 实训笔记8.24 8.24笔记一、Sqoop数据迁移工具1.1 Sqoop的基本概念1.2 Sqoop的基本操作1.2.1 命令语法1.2.2 list-databases1.2.3 list-tables1.2.3 eval1.2.4 import1.2.5 export1.2.6 导入 二、Flume日志采集工具2.1 数据采集的问题2.2 数据采集一般使用的技术2.3 扩展通过爬虫技术采集第三方网站数据2.3.1 爬虫目前主要有两种类型的爬虫 2.4 Flume日志采集工具概述2.4.1 Flume的组成架构2.4.2 Flume的采集数据的工作流程2.4.3 Flume安装部署:三部曲 8.24笔记
一、Sqoop数据迁移工具
1.1 Sqoop的基本概念
Sqoop数据迁移工具主要作用就是实现将数据在RDBMSMySQL、SQL Server、Oracle和Hadoop平台HDFS、Hive、HBase之间进行来回的迁移。
Sqoop中将RDBMS的数据迁移到Hadoop平台我们称为数据导入import将Hadoop平台的数据迁移到RDBMS中称之为数据导出export。
Sqoop在进行数据的导入和导出时会使用sqoop提供的命令来进行操作但是sqoop底层会把命令转换称为MapRecude程序在YARN上运行sqoop的运行需要Hadoop平台环境Sqoop也是基于Hadoop平台的软件 【注意】和sqoop技术一样的还有一个技术叫做DataXDataX是阿里云提供的一个数据迁移工具除了可以实现和sqoop一样的功能同时还提供了一些sqoop无法完成一些数据迁移操作。Datax底层不是基于MapReduce 1.2 Sqoop的基本操作
1.2.1 命令语法
sqoop command params
commandhelp 、eval、import、export、list-databases、list-tables、version
1.2.2 list-databases
查看RDBMS中有哪些数据库的 sqoop list-databases 参数
参数说明–driverJDBC的驱动类–connectJDBCUrl–username数据库的用户名–password数据库的密码
1.2.3 list-tables
查询某一个RDBMS数据库下有哪些数据表的 sqoop list-tables 参数
参数说明–driverJDBC的驱动类–connectJDBCUrl–username数据库的用户名–password数据库的密码
1.2.3 eval
通过sqoop连接RDBMS执行SQL语句 sqoop eval 参数
参数说明–driverJDBC的驱动类–connectJDBCUrl–username数据库的用户名–password数据库的密码–query |-esql语句即可
1.2.4 import
实现数据导入的将RDBMS的数据导入到HDFS、Hive、HBase中 导入数据到HDFS 参数说明–driverJDBC的驱动类–connectJDBCUrl–username数据库的用户名–password数据库的密码–table指定导入RDBMS中哪个数据表的数据–columns可以不写,RDBMS数据表的列名的列表将数据表的指定列导入如果不写代表导入table指定的数据表的所有列的数据–where ‘条件’可以不写根据筛选条件导入RDBMS的–table指定数据表的指定数据如果不加那么默认代表导入–table指定的数据表的所有数据–query ‘dql语句’根据查询语句的结果导入指定的数据–query不能和–table、–columns、–where一起使用如果–query的DQL语句中出现了where子语句必须在where子语句中添加一个 and \(CONDITIONS–target-dir导入到HDFS上的目录路径–delete-target-dir导入数据到HDFS上时路径如果提前存在会报错命令代表删除存在的–target-dir目录–as-textfile|–as-sequencefile…导入数据在HDFS上存储的文件格式–num-mappers | -m导入程序在底层转换称为多个map task任务执行–fields-terminated-by指定将数据导入到HDFS的文件中时列和列的分隔符默认一种特殊字符–lines-terminated-by指定将数据导入到HDFS的文件中时行和行的分隔符默认就是换行符–null-string如果导入的MySQL数据表的某一个字符串类型的列的值为null那么我们在HDFS的文件中使用什么字符替换null值–null-non-string如果导入的MySQL数据表的某一个非字符串类型的列的值为null那么我们在HDFS的文件中使用什么字符替换null值 导入数据到Hive 先把数据导入到HDFS 再把导入到HDFS上的数据装载到Hive数据表中 参数列表 参数说明–driverJDBC的驱动类–connectJDBCUrl–username数据库的用户名–password数据库的密码–table指定导入RDBMS中哪个数据表的数据–columns可以不写,RDBMS数据表的列名的列表将数据表的指定列导入如果不写代表导入 --table指定的数据表的所有列的数据–where ‘条件’可以不写根据筛选条件导入RDBMS的–table指定数据表的指定数据如果不加那么默认代表导入–table指定的数据表的所有数据–query ‘dql语句’根据查询语句的结果导入指定的数据–query不能和–table、–columns、–where一起使用如果–query的DQL语句中出现了where子语句必须在where子语句中添加一个 and \)CONDITIONS–hive-import执行Hive的导入操作–hive-database指定导入到Hive的哪个数据库–hive-table指定导入到Hive的哪个数据表数据表可以不用提前存在–create-hive-table如果指定的hive数据表不存在通过该选项自动创建表但是如果Hive数据表存在的那么该参数不需要添加–num-mappers | -m导入程序在底层转换称为多个map task任务执行–fields-terminated-by指定将数据导入到HDFS的文件中时列和列的分隔符默认一种特殊字符同时自动创建Hive数据表时表的列的分隔符–lines-terminated-by指定将数据导入到HDFS的文件中时行和行的分隔符默认就是换行符 一般是不使用这个参数的就算我们设置了也不生效除非我们加上一些特殊参数–null-string如果导入的MySQL数据表的某一个字符串类型的列的值为null那么我们在HDFS的文件中使用什么字符替换null值–null-non-string如果导入的MySQL数据表的某一个非字符串类型的列的值为null那么我们在HDFS的文件中使用什么字符替换null值 注意事项 将RDBMS的数据导入到Hive时因为先把数据导入到HDFS再把数据load装载到Hive中因此我们要求导入到HDFS上的文件中列的分隔符必须和Hive数据表的列的分隔符保持一致如果不一致数据无法导入成功。如果Hive数据表不存在那么再导入的时候可以指定—create-hive-table创建数据表创建的数据表的列的分隔符和–fields-terminated-by设置的HDFS上文件的列的分隔符保持一致的 全量导入和增量导入 把RDBMS的数据导入到HDFS或者Hive都是有两种方式全量导入、增量导入 全量导入指的是将RDBMS表的所有数据导入到HDFS或者Hive 增量导入指的是只将新增的RDBMS表的所有数据导入到HDFS或者Hive中默认情况下HDFS导入数据时会覆盖原有的数据hive导入数据时会把数据重复性的在表中添加一份。 必须考虑全量导入和增量导入问题。只学习Hive的 Hive的全量导入 –hive-overwrite参数将RDBMS表中的所有数据–table 如果加了–query –columns就不是全量的问题添加到Hive对应的数据表而且覆盖添加。 一般使用在第一次将RDBMS的数据导入到Hive中如果第一次导入不需要–hive-overwrite选项 如果不是第一次导入还想全量导入那么必须加–hive-overwrite选项 Hive的增量导入 sqoop的增量导入有两种方式append lastmodified,其中Hive的增量导入只支持append方式HDFS增量导入支持lastmodified方式 append增量导入需要指定RDBMS中一个可以自增或者是数字依次变大的一个列同时还需要指定上一次导入的时候值的大小 –check-column RDBMS对应的列 –incremental append –last-value num 【导入数据时间字段的问题】 数据导入之后RDBMS中的时间和Hive中时间不一致主要由于时区的问题导致的RDBMS使用的时区和导入数据时指定的时区参数不是同一个时区导致的问题。 只需要保证RDBMS的时区和导入参数设置的时区serverTimezone保持一致即可。 RDBMS的时区select global.time_zone 默认情况下只要我们在中国没有改过数据库和系统的时区数据库和系统时区默认是0800因此serverTimezoneAsia/Shanghai
1.2.5 export
将Hadoop平台的数据导出到RDBMS中导出比导入简单。导出数据时因为Hive、HBase存储的数据都在HDFS上因此导出只需要学习如何将HDFS上的数据导出到RDBMS即可。 【导出的注意事项】RDBMS中的数据表必须提前存在如果不存在会报错 导出参数
类型参数说明导出时和RDBMS相关的参数–driverJDBC的驱动类–connectJDBCUrl–username数据库的用户名–password数据库的密码–table指定导入RDBMS中哪个数据表的数据–columns col,col,col…代表的rdbms的列名列名必须和文件中列的顺序保持一致防止数据串列导出HDFS的参数–export-dir导出的HDFS哪个目录下的文件数据–num-mappers | -m将导出命令翻译称为n个map task任务–input-fields-terminated-by很重要指定HDFS上文件中列和列的分隔符的–input-lines-terminated-by指定HDFS上文件行和行的分割符 行的分隔符\n–update-mode取值allowinsert和updateonly导出数据的两种模式 allowinsert 更新已经导出的数据同时追加新的数据 对mysql数据库目前不支持的 updateonly 只更新以前导出的数据新的数据不会导出–update-key–update-mode如果想实现它的功能必须和–update-key结合使用而且–update-day最好指定一个RDBMS的主键字段否则update-mode的效果会出现混乱 【注意】如果没有指定update-mode 那么默认是追加的形式导出会出数据重复 如果我们想要导出数据到MySQL而且还不想让数据重复可以先使用sqoop eval 操作执行清空目标表数据的命令清空成功以后再导出数据。
1.2.6 导入
导入一般是我们需要对RDBMS的数据进行大数据处理分析时我们把RDBMS的数据通过import导入到HDFS或者Hive,导出之后我们处理完成得到结果数据表然后把结果数据表通过export导出到RDBMS中用于后期的数据可视化展示。
二、Flume日志采集工具
2.1 数据采集的问题
数据采集一般指的是将数据采集到大数据环境下进行持久化、海量化的保存目的主要是为了我们后期的大数据处理数据统计分析、数据挖掘等等沉底数据基础。
不同的来源的数据我们一般有不同的数据采集方式
数据来源于我们的RDBMS关系型数据库Sqoop数据迁移工具实现数据的采集数据来源于我们系统运行产生的日志文件日志文件记录的数据量特别庞大但是日志文件不属于大数据存储系统中东西因此日志文件记录不了海量的数据日志文件都会有一个定期清理规则。采集日志文件数据到大数据环境中。 一般采集日志文件数据到大数据环境使用的就是Flume技术数据来源于其他网站开发一个电影网站电影网站应该具备哪些功能哪些类型的电影能受用户的欢迎。分析竞品数据这种情况竟品数据都是人家别人家网站的数据但是我们需要分析但是人家不给你数据通过爬虫获取数据一不留神就犯法。数据来源于各种传感器设备不需要我们管第三方提供、购买的第三方数据、开源数据集平台提供的阿里云的天池数据集、kaggle数据集平台、飞浆数据集平台、各个地区的政府公开数据集平台
2.2 数据采集一般使用的技术
sqoop技术采集RDBMS的数据到大数据环境中
Flume技术采集系统/网站产生的日志文件数据、端口数据等等到大数据环境中
爬虫技术采集第三方的数据爬虫一般是把采集的数据放到一个文件或者RDBMS数据库当中
2.3 扩展通过爬虫技术采集第三方网站数据
爬虫技术就是通过读取网页/网站的界面结构获取网页中嵌套的数据 2.3.1 爬虫目前主要有两种类型的爬虫
通过代码进行爬虫 python写的 优点在于可以定制化爬虫内容缺点 编写代码代码是非常复杂很多网站做了反爬虫校验可能写了代码也无法爬取数据 通过可视化爬虫工具爬虫 优点不需要写一行代码只需要点点点就可以定制化数据爬虫反爬虫问题不用担心缺点 无法随心所欲爬取数据可能会收费 八爪鱼爬虫工具、集搜客爬虫工具…
2.4 Flume日志采集工具概述
Flume也是Apache开源的顶尖项目专门用来采集海量的日志数据到指定的目的地。
Flume采集数据采用一种流式架构思想只要数据源有数据就可以源源不断的采集数据源的数据到目的地
2.4.1 Flume的组成架构
Flume之所以可以实现采集不同数据源不仅仅只包含日志文件数据到指定的目的地源于Flume的设计机构。
Agent一个Flume采集数据的进程一个Flume软件可以启动多个Flume采集进程AgentSourceFlume的一个数据源组件是Flume专门用来连接数据源的组件一个Flume采集进程Agent中Source组件可以有一个也可以有多个ChannelFlume中一个类似于缓存池的组件缓存池的主要作用就是用来临时保存source数据源采集的数据目的地需要数据从缓冲池中获取防止数据源数据产生过快而目的地消费数据过慢导致程序崩溃的问题。一个Agent中可以存在多个Channel组件SinkFlume中一个目的地下沉地组件是Flume专门用来连接目的地的组件一个Flume进程中sink组件也可以有多个但是一个sink只能从一个channel中获取数据。不能一个sink从不同channel拉取数据eventFlume中数据传输单位。Flume采集数据源的数据时会把数据源的数据封装为一个个的event。
脚本文件xxx.conf需要用户自己编写的Flume采集数据时数据源和目的地有很多种因此如果我们采集数据时我们必须自定义一个脚本文件在脚本文件中需要定义采集的数据源的类型、channel管道的类型、sink的目的地的类型、以及source channel sink三者之间的关系。脚本文件定义成功之后我们才能去根据脚本文件启动Flume采集进程Agent 【注意】一个source只能连接一个数据源一个sink只能连接一个目的地 2.4.2 Flume的采集数据的工作流程
首先我们先编写xx.conf脚本文件定义我们的采集的数据源、目的地、管道的类型定义成功之后我们根据脚本启动Flume采集进程Agent。一旦当Flume采集进程启动成功source就会去监听数据源的数据一旦当数据源有数据产生那么source组件会把数据源的数据封装为一个个的event然后source把event数据单位传输到channel管道中缓存然后sink组件会从channel中拉取指定个数的event将event中数据发送给sink连接的目的地。
2.4.3 Flume安装部署:三部曲
上传解压配置环境变量修改配置文件 conf/flume-env.shbin/flume-ng flume运行需要Java环境文件中需要指定Flume运行需要的内存容量
- 上一篇: wordpress整合redis蝙蝠侠seo
- 下一篇: wordpress政企网站做风险投资网站
相关文章
-
wordpress整合redis蝙蝠侠seo
wordpress整合redis蝙蝠侠seo
- 技术栈
- 2026年03月21日
-
wordpress账号分享如何做网站关键字优化
wordpress账号分享如何做网站关键字优化
- 技术栈
- 2026年03月21日
-
wordpress站长之家厦门网站设计公司找哪家福建小程序开发
wordpress站长之家厦门网站设计公司找哪家福建小程序开发
- 技术栈
- 2026年03月21日
-
wordpress政企网站做风险投资网站
wordpress政企网站做风险投资网站
- 技术栈
- 2026年03月21日
-
wordpress支持论坛优化服务
wordpress支持论坛优化服务
- 技术栈
- 2026年03月21日
-
wordpress直接访问站点wordpress文章出问题
wordpress直接访问站点wordpress文章出问题
- 技术栈
- 2026年03月21日






