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

如何做网站容易收录百度推广app

如何做网站容易收录,百度推广app,by1259新域名是啥,平台搭建是什么在数据集成和数据仓库建设中,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.hkea.cn/news/280672/

相关文章:

  • 企业网站建设公司注意哪些问题软件开发外包公司
  • abc网站建设怎么样yandex引擎搜索入口
  • wordpress屏蔽f12广州seo网络优化公司
  • 南宁网站建设推广服务云服务器免费
  • 大数据营销是什么seo站长
  • 建设政府网站的公司乐山网站seo
  • 仿站容易还是建站容易专业做灰色关键词排名
  • 做网站背景音乐管理课程培训
  • 网站建设可以自学吗品牌软文范文
  • 网站风格对比哪里有学计算机培训班
  • 做mla的网站网站优化哪家好
  • 网站注册的账号怎么注销线上营销活动有哪些
  • 国内做进口的电商网站网站推广软件哪个好
  • 谁有做那事的网站百度投诉中心入口
  • 免费单页网站在线制作沈阳seo排名优化教程
  • 廊坊网站建大型网站建站公司
  • 远程桌面做网站sem和seo区别与联系
  • 做贷款网站优化大师有用吗
  • 有没有便宜的网站制作制作网页教程
  • 医院网站制作优化关键词的方法有哪些
  • wordpress安装到网站吗泰安seo
  • 长春网站开发培训价格google play三件套
  • 做生存分析的网站有哪些国外新闻最新消息
  • 济南网站优化收费百度互联网营销
  • bootstrap响应网站模板下载发帖推广百度首页
  • 动态网站上的查询怎么做新媒体运营培训学校
  • 网站开发人员必备技能百度优化推广
  • 花都 网站建设百度推广怎么添加关键词
  • 开发公司成本部职责岗位职责和流程苏州网站建设优化
  • 湛江网站制作系统seo排名需要多少钱