当前位置:网站首页>Kettle读取按行分割的文件
Kettle读取按行分割的文件
2022-07-27 02:08:00 【LongJ_Sir】
Kettle是一个开源的ETL工具,支持来自众多的数据源间的数据迁移,笔者也是N年前有所使用,最近在迁移一批来自HDFS的文本数据时,又想到了这个工具的使用,来HDFS的文本常会以行进行分割存储,笔者这次遇到的就是6千余万行的json数据,总体量在20G,在网上找了一圈也没找到读取多行文本的操作,于是就自己摆弄了一下,特此作为记录:
数据格式如下:
{"type": "Feature", "properties": {},"geometry": {"type": "Polygon","coordinates": [[[-19.441364292429924, 65.52333266640196], [-19.441369748908993, 65.52335128397081], [-19.441456975615232, 65.52334689547278], [-19.441451519136184, 65.5233282779008], [-19.441364292429924, 65.52333266640196]]]}}
{"type": "Feature", "properties": {},"geometry": {"type": "Polygon","coordinates": [[[-22.023537553224426, 64.34071231744036], [-22.023766291888357, 64.34079685621145], [-22.023896688463573, 64.34073070136526], [-22.02366796389063, 64.340646160667], [-22.023537553224426, 64.34071231744036]]]}}
{"type": "Feature", "properties": {},"geometry": {"type": "Polygon","coordinates": [[[-20.53351958043648, 64.21502080919846], [-20.533556158627654, 64.21504083748084], [-20.533638377500047, 64.21501242439349], [-20.53360179930887, 64.21499239609055], [-20.53351958043648, 64.21502080919846]]]}}按行进行分割的JSON,需要将其导入到postgresql中:
在kettle中新建“转换”,在输入中选择文本文件输入,添加需要进行抽取的问题吧:

在“内容”管理卡将格式改为Unix,在“字段”管理卡点击获取字段即可对定义字段名称:


然后就可以预览记录:

为了读取JSON中的某个Key下的值,我们在之后可以加入一个“JSON输入”,在“文件”管理卡选择“源定义在一个字段里”,“从字段获取源”中选择上一步输出的字段:


在“字段”管理卡用JSONPath配置字段:

接下来就可以通过预览转换来预览过程:


之后就可以按照入库的方式配置输出了。
打完收工,测试下来,6千5百万条文本数据到postgresql 用时37分钟,执行效率上应该算非常快了。
边栏推荐
- 阿里 Seata 新版本终于解决了 TCC 模式的幂等、悬挂和空回滚问题
- spark:计算不同分区中相同key的平均值(入门级-简单实现)
- 768. Block II greed that can complete sorting at most
- Deep learning vocabulary embedded, beam search
- 客户端发送一条sql如何与服务器交互
- Redis源码学习(33),命令执行过程
- 将幕布文章OPML转换为Markdown的方法
- [learning notes, dog learning C] string + memory function
- 若依框架代码生成详解
- 渗透测试-后渗透-痕迹清理
猜你喜欢

LPCI-252通用型PCI接口CAN卡的功能和应用介绍

30分钟彻底弄懂 synchronized 锁升级过程

The function and application of lpci-252 universal PCI interface can card

【树链剖分】2022杭电多校2 1001 Static Query on Tree

索引最佳实践

MySQL Chinese failure

Details of impala implementation plan

Spark Learning Notes (VI) -- spark core core programming RDD action operator

477-82(236、61、47、74、240、93)

Idea 中添加支持@Data 插件
随机推荐
国内服务器与海外服务器用1个数据库,怎样可以访问的快?
redis秒杀案例,跟着b站尚硅谷老师学习
spark学习笔记(六)——sparkcore核心编程-RDD行动算子
数字孪生实际应用:智慧城市项目建设解决方案
Deeply understand the underlying data structure and algorithm of MySQL index
The diagram of user login verification process is well written!
Spark Learning Notes (IV) -- spark core programming RDD
[common search questions] 111
Mysql database related operations
Details of impala implementation plan
Introduction to redis
【1206. 设计跳表】
技术风向标 | 云原生技术架构成熟度模型解读
docker 创建mysql 8.x容器,支持mac ,arm架构芯片
[untitled] JDBC connection database read timeout
spark:地区广告点击量排行统计(小案例)
《稻盛和夫给年轻人的忠告》阅读笔记
Idea 中添加支持@Data 插件
Take you to know what Web3.0 is
Csu18m91 is used as the master controller of the intelligent scale scheme