当前位置: 首页 > news >正文

wordpress附加cssseo资料站

wordpress附加css,seo资料站,wordpress 显示相册,企业网站排名在数据集成和数据仓库建设中,ETL(Extract, Transform, Load)工具扮演着至关重要的角色。本文将对六种主流ETL工具进行比较,并深入探讨Kettle的实践应用。 一、六种主流ETL工具比较 1. DataPipeline 设计及架构:专为…

        在数据集成和数据仓库建设中,ETL(Extract, Transform, Load)工具扮演着至关重要的角色。本文将对六种主流ETL工具进行比较,并深入探讨Kettle的实践应用。

一、六种主流ETL工具比较

1. DataPipeline

  • 设计及架构:专为超大数据量、高度复杂的数据链路设计的灵活、可扩展的数据交换平台。
  • 使用方式:全流程图形化界面,Cloud Native架构,所有操作在浏览器内完成,无需额外开发。
  • 底层架构:分布式集群高可用架构,自动调节任务在节点间分配,适用于大数据场景。

2. Kettle

  • 设计及架构:面向数据仓库建模的传统ETL工具。
  • 使用方式:C/S客户端模式,开发和生产环境需要独立部署,任务编写、调试、修改都在本地。
  • 底层架构:主从结构非高可用,扩展性差,不适用大数据场景。

3. Oracle Goldengate

  • 设计及架构:主要用于数据备份、容灾。
  • 使用方式:没有图形化界面,操作皆为命令行方式,可配置能力差。
  • 底层架构:可做集群部署,依赖于外部环境,如Oracle RAC等。

4. Informatica

  • 设计及架构:面向数据仓库建模的传统ETL工具。
  • 使用方式:C/S客户端模式,学习成本较高,一般需要受过专业培训的工程师才能使用。

5. Talend

  • 设计及架构:面向数据仓库建模的传统ETL工具。
  • 使用方式:C/S客户端模式,开发和生产环境需要独立部署。

6. DataX

  • 设计及架构:面向数据仓库建模的传统ETL工具。
  • 使用方式:DataX是以脚本的方式执行任务的,需要完全吃透源码才可以调用。

二、Kettle实践指njie

1. MySQL到MySQL数据迁移

任务描述:将一个表中的数据t_user导入到另一个表中t_user2

操作步骤

选择“表输入”步骤,连接MySQL数据库,选择t_user表。

 

 

 

选择“表输出”步骤,连接MySQL数据库,选择t_user2表。

确保字段映射正确,执行转换。

 

2. 根据条件导出到不同的Excel

任务描述:根据字段值导出到不同的Excel文件。

操作步骤

使用“选择”步骤,根据字段值进行条件筛选。

 

第一个Excel输出 选择 带有 defalut的字样的,第二个Excel中选择带有 new 字样的选项。

 

 

使用“写入Excel文件”步骤,将筛选后的数据写入不同的Excel文件。 

 

 

3. 执行SQL脚本

任务描述:使用Kettle执行SQL脚本,如truncate table t_user2

操作步骤

使用“SQL执行”步骤,输入SQL脚本并执行。

sql语句:
truncate table t_user2

4. Hive数据导出到MySQL

任务描述:将Hive的数据导出到MySQL。

操作步骤

使用“表输入”步骤,连接Hive数据库。

报错:

配置如下:

如何找到hive-jdbc的jar包?

 使用“表输出”步骤,连接MySQL数据库。

当预览hive中的数据失败时:

 

在hive中的字段名字要和数据库的字段名字一样,不能在建数据库的时候,修改列的名字,否则不照样,会失败,建表语句中varchar类型后面,记得添加长度。

5. MySQL数据导入Hive

任务描述:将MySQL的数据导入Hive。

操作步骤

使用“表输入”步骤,连接MySQL数据库。按上文操作

使用“表输出”步骤,连接Hive数据库。按上文操作

输入是 表输入,使用 mysql ,输出是表输出,使用 hive

如果直接做,报错!

2024/09/11 17:19:29 - 表输出.0 - Caused by: org.pentaho.di.core.exception.KettleDatabaseException: 
2024/09/11 17:19:29 - 表输出.0 - Error setting value #9 [Date] on prepared statement
2024/09/11 17:19:29 - 表输出.0 - Method not supported
2024/09/11 17:19:29 - 表输出.0 - 
2024/09/11 17:19:29 - 表输出.0 - 	at org.pentaho.di.core.row.value.ValueMetaBase.setPreparedStatementValue(ValueMetaBase.java:5477)
2024/09/11 17:19:29 - 表输出.0 - 	at org.pentaho.di.core.database.Database.setValue(Database.java:1080)
2024/09/11 17:19:29 - 表输出.0 - 	at org.pentaho.di.core.database.Database.setValues(Database.java:1096)
2024/09/11 17:19:29 - 表输出.0 - 	... 4 more
2024/09/11 17:19:29 - 表输出.0 - Caused by: java.sql.SQLFeatureNotSupportedException: Method not supported
2024/09/11 17:19:29 - 表输出.0 - 	at org.apache.hive.jdbc.HivePreparedStatement.setDate(HivePreparedStatement.java:460)
2024/09/11 17:19:29 - 表输出.0 - 	at org.pentaho.di.core.row.value.ValueMetaBase.setPreparedStatementValue(ValueMetaBase.java:5412)
2024/09/11 17:19:29 - 表输出.0 - 	... 6 more

通过查看错误,发现是 Date 类型的错误,所以,修改表输入中的 SQL 语句:

SELECTid
, name
, age
, gender
, province
, city
, region
, phone
, date_format(birthday,'%Y-%m-%d') birthday
, hobby
, date_format(register_date,'%Y-%m-%d %h:%i:%s') register_date
FROM kettle_demo.t_user

问题解决!!

有时候,运行成功,有时候只能导入 2 条数据,然后报错,可以在 hive 的 conf 下的 .hiverc 下,添加如下:

set hive.stats.column.autogather=false;

然后不需要重启 hiveserver2 以及 kettle,直接运行即可。

如果还不行,直接修改 hive-site.xml

把里面的true改为false 重启hive和kettle 。

6. 将MySQL数据导入HDFS

任务描述:将MySQL的数据导入HDFS。

操作步骤

使用“表输入”步骤,连接MySQL数据库。按上文操作

使用“Hadoop文件输出”步骤,配置HDFS路径和权限。

 重启 kettle,进入之后:

 查看报告:

 

假如你使用了 hdfs 自带的文件夹,比如/home,会报没有权限的错误

 

报错内容: 

2024/09/12 09:48:08 - Hadoop file output.0 - Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException): Permission denied: user=Administrator, access=WRITE, inode="/home":root:supergroup:drwxr-xr-xat org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:504)at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:336)at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:242)at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1939)at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1923)at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkAncestorAccess(FSDirectory.java:1882)

解决办法:修改 hdfs 中的文件夹的权限:

hdfs dfs -chmod -R 777 /home

假如你使用的是一个全新的路径,是不会报权限错误的。

 

7. Job任务

任务描述:使用Kettle的Job功能进行任务编排。

操作步骤

在新建中,选择【作业】即可进入作业编辑界面

根据需求添加相应的步骤和转换。

Start 如果不想定时执行,什么都可以不用设置;

完成 : 什么都不用设置

复杂的job 图表展示:有点类似于我们之前的任务编排(编排的是转换)。

如果出现如下问题:

在job 这个任务保存的时候,不要保存在中文路径下。保存在非中文路径下。其他ETL工具:

三、总结

        ETL工具的选择应根据项目需求、数据量、易用性、稳定性等因素综合考虑。Kettle作为一款开源的ETL工具,具有强大的数据处理能力和灵活的配置选项,适合各种规模的数据集成任务。通过本文的实践指南,希望能帮助大家更好地理解和使用Kettle。

参考链接

  • 六种主流ETL工具的比较
  • 闫哥大数据--73-kettle的介绍和安装_哔哩哔哩_bilibili
http://www.yidumall.com/news/52626.html

相关文章:

  • 一般建设一个网站多少钱百度推广系统营销平台
  • 不用代码做网站的软件销售技巧和话术
  • 哈尔滨松北区建设局网站黄页引流推广
  • 网站论坛制作成人短期技能培训
  • 做粘土网站网站推广网络营销方案
  • 淮安做网站seo众志seo
  • 做网站用什么字体比较好友情链接多少钱一个
  • 网站第二次备案产品营销方案策划
  • ppt中仿网站链接怎么做谷歌seo和百度seo区别
  • 网站cdn+自己做站长交流平台
  • 常熟做网站公司无锡百度关键词优化
  • 关于政府网站建设最新要求网盘资源大全
  • 网站云服务器租用seo岗位
  • 扁平化设计个人网站网络营销师证书有用吗
  • 北京网站制作是什么网站免费推广的方法
  • 做网站建设公司赚钱seo交流论坛seo顾问
  • 数字域名做网站广丰网站seo
  • 网站首页ui网站seo批量查询工具
  • 黑龙江 建设监理协会网站昆山seo网站优化软件
  • 网站建设 石景山自主建站
  • 试用型网站淘宝的关键词排名怎么查
  • 在线制作个人网站百度推广助手app下载
  • 制作好的网站必须申请国外友链买卖平台
  • 做化妆品的网站有哪些百度推广代理商查询
  • 网页建站网站申请广州软件系统开发seo推广
  • 天津网站搜索排名优化东莞最新疫情
  • 有哪些网站可以兼职做笔译百度地图导航
  • 合肥培训网站推广合肥网站优化搜索
  • 阿里做网站广告联盟app下载赚钱
  • 58里面的网站怎么建设seo查询排名系统