大数据ETL开发之图解Kettle工具

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 大数据ETL开发之图解Kettle工具

以下只是简单记录一下我学习过程中的心得

3.1.5 JSON输入

JSONPath 类似于 XPath 在 xml 文档中的定位,JsonPath 表达式通常是用来路径检索或设置Json的。其表达式可以接受“dot - notation”(点记法)和“bracket -notation”(括号记法)


实操注意事项


这里只要注意一下路径的写法和理解,$是表示根路径,对于$..data和$..id我的理解是:$指的是submissions,因为真正的json数据其实是从submissions开始算的,然后..表示递归遍历,因为submissions下面有两个数组,所以需要递归遍历,所以$..data就是递归遍历submissions下的所有data,主要是对..的理解,同理,下面的$..file是的$是指的data,因为第二个json input的数据来源是第一个json input传入的,用..也是因为有多个数组需要递归遍历


{
    "status": "ok",
    "response": {
        "submissions": [
            {
                "id": "59434767",
                "timestamp": "2011-11-21 09:21:53",
                "user_agent": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0",
                "remote_addr": "192.168.1.1",
                "payment_status": "",
                "data": [
                    {
                        "field": "13776121",
                        "value": "Baylor Dallas"
                    },
                    {
                        "field": "13776401",
                        "value": "CHF"
                    },
                    {
                        "field": "13777966",
                        "value": "John Doe"
                    },
                    {
                        "field": "13780027",
                        "value": "9999"
                    },
                    {
                        "field": "13778165",
                        "value": "None of the above"
                    },
                    {
                        "field": "13778985",
                        "value": "Yes"
                    },
                    {
                        "field": "13778280",
                        "value": "Yes"
                    },
                    {
                        "field": "13778424",
                        "value": "Yes"
                    },
                    {
                        "field": "13778290",
                        "value": "Yes"
                    },
                    {
                        "field": "13778324",
                        "value": "Yes"
                    },
                    {
                        "field": "13778864",
                        "value": "Yes"
                    }
                ]
            },
            {
                "id": "59474875",
                "timestamp": "2011-11-21 17:01:22",
                "user_agent": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0",
                "remote_addr": "192.168.1.1",
                "payment_status": "",
                "data": [
                    {
                        "field": "13776121",
                        "value": "Healthsouth,"
                    },
                    {
                        "field": "13776401",
                        "value": "Pneumonia"
                    },
                    {
                        "field": "13777966",
                        "value": "Jane Doe"
                    },
                    {
                        "field": "13780027",
                        "value": "390"
                    },
                    {
                        "field": "13778165",
                        "value": "Experienced a fall?"
                    },
                    {
                        "field": "13861153",
                        "value": "Yes"
                    },
                    {
                        "field": "13780018",
                        "value": "Yes"
                    },
                    {
                        "field": "13780006",
                        "value": "No"
                    },
                    {
                        "field": "13780023",
                        "value": "Yes"
                    },
                    {
                        "field": "13780024",
                        "value": "Yes"
                    }
                ]
            }
        ],
        "total": 2,
        "pages": 1
    }
}

3.1.6 表输入

这里我遇到了一个报错

kettle报错 Driver class ‘org.gjt.mm.mysql.Driver‘ could not be found, make sure the ‘MySQL‘ driver

原因就是没有导入jdbc的jar包或者导入后没有重启应用,我是没有重启

3.2.2 文本文件输出

这里只要记得设置输出文件的合适分隔符即可,默认是用的;

3.2.4 表输出

这里注意数据写到输出表的时候是通过追加的方式,也就是你如果执行两次,那么就会有两套重复的数据,是追加不是覆盖

3.3.9 拆分字段

这里要注意拆分后的新字段需要设置合适的类型,不然就报错

3.3.11 行扁平化

行扁平化就是把同一组的多行数据合并成为一行,可以理解为列拆分为多行的逆向操作

但是需要注意的是行扁平化控件使用有两个条件:

  • 使用之前需要对数据进行排序
  • 每个分组的数据条数要保证一致,否则数据会有错乱

3.3.12 列转行

列转行,顾名思义多列转一行,就是如果数据一列有相同的值,按照指定的字段,将其中一列的字段内容变成不同的列,然后把多行数据转换为一行数据的过程

注意:列转行之前数据流必须按照分组字段进行排序,否则数据会错乱!


这里主要是要理解上面的图怎么填,关键字就是你要把哪一列的值横过来,关键字的值就是上面的那个关键字的列值

3.3.13 行转列

行转列,一行转多列,就是把数据字段的字段名转换为一列,把数据行变为数据列。我们也可以简单理解为行转列控件是列转行控件的逆向操作


理解上面的图的值怎么填

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
3月前
|
数据采集 SQL 监控
ETL还是ELT,大数据处理怎么选更靠谱?
在数据处理中,ETL(抽取、转换、加载)与ELT(抽取、加载、转换)是两种核心流程。ETL强调在数据入库前完成清洗和转换,适合质量要求高、转换复杂的场景;而ELT则先将原始数据快速入库,再利用现代数仓的计算能力进行转换,更适合大数据和实时分析需求。选择哪种方式,需根据数据量、转换复杂度、系统资源及业务需求综合判断。
|
3月前
|
SQL 人工智能 分布式计算
拥抱数据洪流:ODPS,从工具到智能基石的认知跃迁
ODPS正从计算工具进化为智能基石,重塑数据价值链条。它不仅是效率引擎,更是决策资产、信任桥梁与预见系统。其创新架构支持存算分离、AI融合计算与隐私保护,助力企业迎接AI革命。未来,ODPS将推动绿色智能,成为组织数字化转型的核心支撑平台。
122 3
|
5月前
|
人工智能 算法 自动驾驶
AI和大数据:是工具,还是操控人心的“隐形之手”?
AI和大数据:是工具,还是操控人心的“隐形之手”?
136 1
|
8月前
|
分布式计算 大数据 数据处理
从Excel到大数据:别让工具限制你的思维!
从Excel到大数据:别让工具限制你的思维!
298 85
|
12月前
|
存储 分布式计算 数据可视化
大数据常用技术与工具
【10月更文挑战第16天】
628 4
|
7月前
|
JSON 分布式计算 DataX
【YashanDB知识库】使用DataX工具迁移yashan数据到maxcompute
本文介绍使用崖山适配的DataX工具进行数据库迁移的方法,包括单表迁移和批量表迁移。单表迁移需配置json文件并执行同步命令;批量迁移则通过脚本自动化生成json配置文件并完成数据迁移,最后提供数据比对功能验证迁移结果。具体步骤涵盖连接信息配置、表清单获取、json文件生成、数据迁移执行及日志记录,确保数据一致性。相关工具和脚本简化了复杂迁移过程,提升效率。
|
9月前
|
分布式计算 大数据 流计算
玩转数据:初学者的大数据处理工具指南
玩转数据:初学者的大数据处理工具指南
236 14
|
9月前
|
数据采集 机器学习/深度学习 DataWorks
DataWorks产品评测:大数据开发治理的深度体验
DataWorks产品评测:大数据开发治理的深度体验
375 1
|
11月前
|
关系型数据库 分布式数据库 数据库
PolarDB 以其出色的性能和可扩展性,成为大数据分析的重要工具
在数字化时代,企业面对海量数据的挑战,PolarDB 以其出色的性能和可扩展性,成为大数据分析的重要工具。它不仅支持高速数据读写,还通过数据分区、索引优化等策略提升分析效率,适用于电商、金融等多个行业,助力企业精准决策。
252 4
|
11月前
|
机器学习/深度学习 搜索推荐 大数据
大数据与教育:学生表现分析的工具
【10月更文挑战第31天】在数字化时代,大数据成为改善教育质量的重要工具。本文探讨了大数据在学生表现分析中的应用,介绍学习管理系统、智能评估系统、情感分析技术和学习路径优化等工具,帮助教育者更好地理解学生需求,制定个性化教学策略,提升教学效果。尽管面临数据隐私等挑战,大数据仍为教育创新带来巨大机遇。

热门文章

最新文章