大数据技术之Kettle

news2024/11/19 23:35:45

目录

 

第1章 Kettle概述

1.1 ETL简介

1.2 Kettle简介1.2.1 Kettle是什么

1.2.2 Kettle的两种设计

1.2.3 Kettle的核心组件

 1.2.4 Kettle特点

第2章 Kettle安装部署

2.1 Kettle下载

2.1.1 下载地址

2.1.2  Kettle目录说明

2.1.3  Kettle文件说明

2.2 Kettle安装部署

2.2.1 概述

2.2.2 安装

2.3 Kettle界面简介

2.3.1 首页

2.3.2 转换

2.3.3 作业

2.4 Kettle转换初次体验

2.5 Kettle核心概念

2.5.1 可视化编程

2.5.2 转换

2.5.3 步骤(Step)

2.5.4 跳(Hop)

2.5.5 元数据

2.5.6 数据类型

2.5.7 并行

2.5.8 作业

第3章 Kettle转换

3.1 Kettle输入控件


第1章 Kettle概述

1.1 ETL简介

ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种ETL工具的使用,必不可少。
市面上常用的ETL工具有很多,比如Kettle,Sqoop,DataX,Talend等,作为一个大数据工程师,我们最好要掌握其中的两到三种,这里我们要学习的ETL工具是Kettle!

1.2 Kettle简介
1.2.1 Kettle是什么

Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。
Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。
Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。
Kettle(现在已经更名为PDI,Pentaho Data Integration-Pentaho数据集成)。

1.2.2 Kettle的两种设计

1.2.3 Kettle的核心组件

 1.2.4 Kettle特点

第2章 Kettle安装部署


2.1 Kettle下载


2.1.1 下载地址


官网地址
https://community.hitachivantara.com/docs/DOC-1009855
下载地址
https://sourceforge.net/projects/pentaho/files/Data%20Integration/


2.1.2  Kettle目录说明

2.1.3  Kettle文件说明

2.2 Kettle安装部署

2.2.1 概述

在实际企业开发中,都是在本地Windows环境下进行kettle的job和Transformation开发的,可以在本地运行,也可以连接远程机器运行

2.2.2 安装

1) 安装jdk,版本建议1.8及以上
2) 下载kettle压缩包,因kettle为绿色软件,解压缩到任意本地路径即可
3) 双击Spoon.bat,启动图形化界面工具,就可以直接使用了

2.3 Kettle界面简介

2.3.1 首页

2.3.2 转换

2.3.3 作业

2.4 Kettle转换初次体验


体验案例:将csv文件用Kettle转换成excel文件


1)在Kettle中新建一个转换,然后选择转换下面的“csv文件输入”和“Excel输出”控件

2)双击CSV文件输入文件控件,在弹出的设置框里找到对应的csv文件(尚硅谷大数据技术之Kettle\5.数据\input\01_kettle快速体验.csv),然后点击下面的获取字段按钮,将我们需要的字段加载到kettle中

3)按住键盘SHIFT键,并且点击鼠标左键将两个控件链接起来,链接时选择“主输出步骤”

  

4)双击Excel输出控件,在弹出的设置框里设置文件输出路径和文件名称,然后点击上面的字段框,依次点击下面的获取字段和最小宽度,获取到输出字段。
    
5)点击左上角的启动按钮,在弹出的设置框里点击启动,执行该转换。

 

6)查看kettle下方执行结果日志以及输出路径的Excel文件内容


2.5 Kettle核心概念

2.5.1 可视化编程

Kettle可以被归类为可视化编程语言(Visula Programming Languages,VPL),因为Kettle可以使用图形化的方式定义复杂的ETL程序和工作流。
可视化编程一直是Kettle里的核心概念,它可以让你快速构建复杂的ETL作业和减低维护工作量。它通过隐藏很多技术细节,使IT领域更贴近于商务领域。
Kettle里的代码就是转换和作业。

2.5.2 转换

转换(transaformation)负责数据的输入、转换、校验和输出等工作。Kettle 中使用转换完成数据 ETL 全部工作。转换由多个步骤 (Step) 组成,如文本文件输入,过滤输出行,执行 SQL 脚本等。各个步骤使用跳 (Hop) 来链接。 跳定义了一个数据流通道,即数据由一个步骤流 (跳) 向下一个步骤。在 Kettle 中数据的最小单位是数据行(row),数据流中流动其实是缓存的行集 (RowSet) 。 

 

2.5.3 步骤(Step)

步骤(控件)是转换里的基本的组成部分,快速入门的案例中就存在两个步骤,“CSV文件输入”和“Excel输出”。
一个步骤有如下几个关键特性:
①步骤需要有一个名字,这个名字在同一个转换范围内唯一。
②每个步骤都会读、写数据行(唯一例外是“生成记录”步骤,该步骤只写数据)。
③步骤将数据写到与之相连的一个或多个输出跳(hop),再传送到跳的另一端的步骤。
④大多数的步骤都可以有多个输出跳。一个步骤的数据发送可以被设置为分发和复制,分发是目标步骤轮流接收记录,复制是所有的记录被同时发送到所有的目标步骤。

  
             
2.5.4 跳(Hop)

 跳就是步骤之间带箭头的连线,跳定义了步骤之间的数据通路。

 跳实际上是两个步骤之间的被称之为行集的数据行缓存,行集的大小可以在转换的设置里定义。当行集满了,向行集写数据的步骤将停止写入,直到行集里又有了空间。当行集空了,从行集读取数据的步骤停止读取,直到行集里又有可读的数据行。

 

2.5.5 元数据

每个步骤在输出数据行时都有对字段的描述,这种描述就是数据行的元数据。
通常包含下面一些信息。
①名称:数据行里的字段名是唯一的。
②数据类型:字段的数据类型。
③格式:数据显示的方式,如Integer的#、0.00。
④长度:字符串的长度或者BigNumber类型的长度。
⑤精度:BigNumber数据类型的十进制精度。
⑥货币符号:¥
⑦小数点符号:十进制数据的小数点格式。不同文化背景下小数点符号是不同的,一般是点(.)或逗号(,)。
⑧分组符号:数值类型数据的分组符号,不同文化背景下数字里的分组符号也是不同的,一般是点(.)或逗号(,)或单引号(’)

2.5.6 数据类型

数据以数据行的形式沿着步骤移动。一个数据行是零到多个字段的集合,字段包含下面几种数据类型。
①String:字符类型数据
②Number:双精度浮点数。
③Integer:带符号长整型(64位)。
④BigNumber:任意精度数据。
⑤Date:带毫秒精度的日期时间值。
⑥Boolean:取值为true和false的布尔值。
⑦Binary:二进制字段可以包含图像、声音、视频及其他类型的二进制数据。

2.5.7 并行

跳的这种基于行集缓存的规则允许每个步骤都是由一个独立的线程运行,这样并发程度最高。这一规则也允许数据以最小消耗内存的数据流的方式来处理。在数据仓库里,我们经常要处理大量数据,所以这种高并发低消耗的方式也是ETL工具的核心需求。
对于kettle的转换,不能定义一个执行顺序,因为所有步骤都以并发方式执行:当转换启动后,所有步骤都同时启动,从它们的输入跳中读取数据,并把处理过的数据写到输出跳,直到输入跳里不再有数据,就中止步骤的运行。当所有的步骤都中止了,整个转换就中止了。 
如果你想要一个任务沿着指定的顺序执行,那么就要使用下面所讲的“作业”!

2.5.8 作业

作业 (Job),负责定义一个完成整个工作流的控制,比如将转换的结果发送邮件给相关人员。因为转换(transformation)以并行方式执行,所以必须存在一个串行的调度工具来执行转换,这就是 Kettle中的作业。

第3章 Kettle转换

3.1 Kettle输入控件

由于Kettle中自带的输入控件比较多,本文只挑出开发中经常使用的几个输入控件来进行讲解,详情如下图。

3.1.1 CSV文件输入

CSV文件是一个用逗号分隔的固定格式的文本文件,这种文件后缀名为.csv,可以用Excel或者文本编辑器打开。在企业里面一般最常见的ETL需求就是将csv文件转换为excel文件,如果用Kettle来做这个ETL工作,就需要用到本章节讲解的CSV文件输入控件。

本章节任务:熟悉CSV文件输入控件,并尝试将CSV文件转换成Excel文件(可参考上面的快速体验案例)。

  • ①步骤名称:可以修改,但是在同一个转换里面要保证唯一性,见名知意;
  • ②文件名:选择对应的csv文件;
  • ③列分隔符:默认是逗号;
  • ④封闭符:结束行数据的读写;
  • ⑤NIO缓存大小:文件如果行数过多,需要调整此参数;
  • ⑥包含列头行:意思是文件中第一行是字段名称行,表头不进行读写;
  • ⑦行号字段:如果文件第一行不是字段名称或者需要从某行开始读写,可在此输入行号。
  • ⑧并发运行?:选择并发,可提高读写速度;
  • ⑨字段中有回车换行?:不要选择,会将换行符做数据读出;
  • ⑩文件编码:如果预览数据出现乱码,可更换文件编码;

3.1.2 文本文件输入

提取服务器上的日志信息是公司里ETL开发很常见的操作,日志信息基本上都是文本类型,因此文本文件输入控件是kettle中常用的一个输入控件。使用文本文件输入控件步骤:

  1. 添加需要转换的日志文件
  2. 按照日志文件格式,指定分隔符 
  3. 获取下字段,并给字段设置合适的格式
  4. 最后点下预览记录,看看能否读到数据

 

 

 

本章节任务:熟悉文本文件输入控件,并新建转换,将txt日志文件转换为Excel文件 

3.1.3 Excel输入

Excel输入控件也是很常用的输入控件,一般企业里会用此控件对大量的Excel文件进行ETL操作。使用Excel输入控件步骤如下:
1)按照读取的源文件格式指定对应的表格类型为xls还是xlsx
2)选择并添加对应的excel文件
3)获取excel的sheet工作表
4)获取字段,并给每个字段设置合适的格式
5)预览数据

 

 

 

本章节任务:熟悉Excel输入控件,将excel文件的两个sheet表格的数据重新写到一个新的excel文件中

 

3.1.4 XML输入

1)XML简介
XML-可扩展标记语言eXtensible Markup Language,由W3C组织发布,目前推荐遵守的是W3C组织于2000年发布的XML1.0规范。XML用来传输和存储数据,就是以一个统一的格式,组织有关系的数据,为不同平台下的应用程序服务。

 

2)XPath简介
XPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。
XPath 使用路径表达式在 XML 文档中选取节点。下面列出了最有用的路径表达式:

 

3)XML输入控件
了解XML和XPath概念以后,我们要开始学习Kettle的XML输入控件,企业里经常用此控件进行XML文件的ETL操作。
1.浏览获取xml文件,将xml文件添加到kettle中
2.获取xml文档的所有路径,设置合适的循环读取路径
3.获取字段,获得自己想要读取的所有字段,并且设置适当的格式
4.预览数据,看看能否读取到自己想要的数据

 

 本章节任务:熟悉XML输入控件,将XML文件的学生数据写到excel文件中

 3.1.5 JSON输入

1)JSON简介

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。JSON对象本质上就是一个JS对象,但是这个对象比较特殊,它可以直接转换为字符串,在不同语言中进行传递,通过工具又可以转换为其他语言中的对象。

JSON核心概念:数组、对象、属性。

数组:[ ]

对象:{ }

属性:key:value

2)JSON Path

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

点记法:$.store.book[0].title

括号记法:$[‘store’][‘book’][0][‘title’]

  1. JSON输入控件

了解JSON格式和JSON Path以后,我们要学习使用JSON输入控件,JSON控件也是企业里做ETL常用的控件之一。

  1. 浏览获取JSON文件,将json文件获取到kettle中
  2. 根据JSON Path点记法,获取到需要的字段,并且设置合适格式

 

 

 

 本章节任务:获取到JSON文件里面的id,field,value字段,写到excel文件中

3.1.6 表输入

1)创建数据库连接

表输入可以说是kettle中用到最多的一种输入控件,因为企业中大部分的数据都会存在数据库中。kettle可以连接市面上常见的各种数据库,比如Oracle,Mysql,SqlServer等。但是在连接各个数据库之前,我们需要先配置好对应的数据库驱动,本教程以mysql为例,给大家讲解kettle连接mysql数据库的过程。

首先我们要将对应版本的mysql连接驱动放到kettle安装目录下面的lib文件夹下,然后重启kettle的客户端Spoon

 

重启Spoon客户端以后,我们就可以创建对应的数据库连接了,在转换视图的主对象树目录下,有个DB连接,右键然后选择新建,在打开数据库连接框里,填写正确的数据库信息,然后测试,测试无误后,可以保存此数据库连接。

 

数据库连接默认只对本转换有效,换一个转换以后,这个连接就没法用了,还需要新建数据库连接,所以我们需要将建好的这个数据库连接进行共享下,共享以后,其他的转换也能用我们提前建好的这个数据库连接了。 

 

 2)表输入

创建好数据库连接以后,我们就可以使用表输入控件了,双击表输入控件,选择刚刚创建的数据库连接,然后在SQL框里输入合适的查询语句,然后点击预览按钮,看能否预览到我们期望的数据。

 本章节任务:根据自己的集群环境,创建数据库连接,然后使用表输入控件将student表的数据写到excel中。

 

3.2 Kettle输出控件

输出是转换里面的第二个分类,输出控件也是转换中的第二大控件,用来存储数据。输出是ETL里面的L(Load),主要做数据加载的工作。

由于Kettle中自带的输出控件比较多,本文只挑出开发中经常使用的几个输出控件来进行讲解,详情如下图。

 

3.2.1 Excel输出

Kettle中自带了两个Excel输出,一个Excel输出,另一个是Microsoft Excel输出。

Excel输出只能输出xls文件(适合Excel2003),Microsoft Excel输出可以输出xls和xlsx文件(适合Excel2007及以后)

Excel输出大家已经很熟悉了,本章不再赘述,接下来给大家讲下Microsoft Excel输出。

  1. 选择合适的扩展名
  2. 点击浏览,补全输出文件的路径已经文件名

本章任务:使用表输入控件,将student表的数据,以复制的方式输出到xls和xlsx文件中 

 

3.2.2 文本文件输出

文本文件输出控件,顾名思义,这是一个能将数据输出成文本的控件,比较简单,在企业里面也比较常用。

  1. 设置对应的目录和文件名
  2. 设置合适的扩展名,比如txt,csv等
  3. 在内容框里设置合适的分隔符,比如分号,逗号,TAB等
  4. 在字段框里获取字段,并且给每个字段设置合适的格式

 

 

本章节任务:将student表的数据复制两份,导出成txt和csv文件 

3.2.3 SQL文件输出

SQL文件输出一般跟表输入做连接,然后将数据库表的表结构和数据以sql文件的形式导出,然后做数据库备份的这么一个工作。

  1. 选择合适的数据库连接
  2. 选择目标表
  3. 勾选增加创建表语句和每个语句另起一行
  4. 填写输出文件的路径和文件名
  5. 扩展名默认为sql,这个不需要更改

 

本章节任务:将student表的表结构和数据利用kettle导出成sql文件备份 

3.2.4 表输出

表输出控件可以将kettle数据行中的数据直接写入到数据库中的表中,企业里做ETL工作会经常用到此控件。

  1. 选择合适的数据库连接
  2. 选择目标表,目标表可以提前在数据库中手动创建好,也可以输入一个数据库不存在的表,然后点击下面的SQL按钮,利用kettle现场创建
  3. 如果目标表的表结构和输入的数据结构不一致,还可以自己指定数据库字段

 

本章节任务:熟悉表输出控件,然后将student表的数据导入到student2表中,要求利用kettle现场创建student2表 

 

3.2.5 更新&插入/更新

更新和插入/更新,这两个控件是kettle提供的将数据库已经存在的记录与数据流里面的记录进行对比的控件。企业级ETL经常会用到这两个控件来进行数据库更新的操作

两者区别:

更新是将数据库表中的数据和数据流中的数据做对比,如果不同就更新,如果数据流中的数据比数据库表中的数据多,那么就报错。

插入/更新的功能和更新一样,只不过优化了数据不存在就插入的功能,因此企业里更多的也是使用插入/更新。

  1. 选择正确的数据库连接
  2. 选择目标表
  3. 输入两个表来进行比较的字段,一般来说都是用主键来进行比较
  4. 输入要更新的字段

本章节任务:手动修改下student表的数据(修改和新增),然后用修改后的数据和student2来进行对比,分别尝试更新和插入/更新控件的区别

 

3.2.6 删除

删除控件可以删除数据库表中指定条件的数据,企业里一般用此控件做数据库表数据删除或者跟另外一个表数据做对比,然后进行去重的操作。

  1. 选择数据库连接
  2. 选择目标表
  3. 设置数据流跟目标表要删除数据的对应字段

 

 本章节任务:删除student2表格中student表里面已有的数据(按照student表对student2表数据进行去重)

3.3 Kettle转换控件

转换控件是转换里面的第四个分类,转换控件也是转换中的第三大控件,用来转换数据。转换是ETL里面的T(Transform),主要做数据转换,数据清洗的工作。ETL整个过程中,Transform的工作量最大,耗费的时间也比较久,大概可以占到整个ETL的三分之二。

由于Kettle中自带的转换控件比较多,本文只挑出开发中经常使用的几个转换控件来进行讲解,详情如下图。

 

3.3.1 Concat fields

转换控件Concat fields,顾名思义,就是将多个字段连接起来形成一个新的字段

 

本章节任务:将staff表的firstname和lastname拼接起来,形成name字段,然后再将数据插入到新表emp中

提示:如果涉及到中文乱码问题,请参考资料:Mysql中文乱码问题.docx

 

3.3.2 值映射

值映射就是把字段的一个值映射成其他的值。在数据质量规范上使用非常多,比如很多系统对应性别sex字段的定义不同。所以我们需要利用此控件,将同一个字段的不同的值,映射转换成我们需要的值。

  1. 选择映射的字段
  2. 还可以自定义映射完以后的新字段名
  3. 可以设置不匹配时的默认值
  4. 设置映射的值

本章节任务:将staff表的sex字段,映射成男or女,然后再插入到emp表中 

3.3.3 增加常量&增加序列

增加常量就是在本身的数据流里面添加一列数据,该列的数据都是相同的值。

增加序列是给数据流添加一个序列字段,可以自定义该序列字段的递增步长。

 

 

本章节任务:给表staff的数据加一列固定值slary和一个递增的number序列,在控制台预览下数据即可,不用输出。

 

 

3.3.4 字段选择

字段选择是从数据流中选择字段、改变名称、修改数据类型。

 

 

本章节任务:在上一章节的转换之后,添加字段选择控件,移除掉firstname字段,并且将lastname重命名为name,将slary重命名为money,然后再次预览数据,查看数据的变化 

3.3.5 计算器

计算器是一个函数集合创建新的字段,还可以设置字段是否移除临时字段)。我们可以通过计算器里面的多个计算函数对已有字段进行计算,得出新字段。

 

 

本章节任务:在上一节的任务基础之上,添加计算器控件对money和number字段进行相乘,得出新字段acount,然后预览数据。 

 

 

3.3.6 字符串剪切&替换&操作

转换控件中有三个关于字符串的控件,分别是剪切字符串,字符串操作,字符串替换

剪切字符串是指定输入流字段裁剪的位置剪切出新的字段。

字符串替换是指定搜索内容和替换内容,如果输入流的字段匹配上搜索内容就进行替换生成新字段。 

字符串操作是去除字符串两端的空格和大小写切换,并生成新的字段。 

本章节任务:在上一节任务之后,添加剪切字符串,字符串替换,字符串操作三个控件,利用这三个控件分别对sex字段进行剪切,替换,操作(去空格,转大小写) 

 

 

3.3.7 排序记录&去除重复记录

去除重复记录是去除数据流里面相同的数据行。但是此控件使用之前要求必须先对数据进行排序,对数据排序用的控件是排序记录,排序记录控件可以按照指定字段的升序或者降序对数据流进行排序。因此排序记录+去除重复记录控件常常配合组队使用。

wom

------------------------------------------------------------------ 我是低调的分隔线  ----------------------------------------------------------------------

                                                                                                                                     吾欲之南海,一瓶一钵足矣...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/492001.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

openai账号创建教程-openai注册问题大全

openai注册页面打不开 遇到openai注册页面打不开,可以用以下解决方法: 检查网络连接。如果您的网络连接不稳定或者有问题,可能会导致访问网站异常。请尝试使用其他设备或连接其他网络,看是否能够打开OpenAI注册页面。 清除浏览器…

为什么需要使用Docker

简介与概述 1.介绍 Docker是一个开源的应用容器引擎,基于Go语言开发的,并且遵从Apache2.0协议开源。 Docker可以让开发者打包他们的应用以及依赖,打包到轻量级、可移植的容器中,然后发布到任何一个流行的Linux服务器上&#xff…

新库上线 | CnOpenData中国标准数据

中国标准数据 一、数据简介 按照《中华人民共和国标准化法》的定义,标准是指农业、工业、服务业以及社会事业等领域需要统一的技术要求。标准作为一种通用性的规范语言,在合理利用国家资源、保障产品质量、提高市场信任度、促进商品流通、维护公平竞争、…

使用JPA自动生成代码(轻松上手看了就会版)

目录 背景:方案概念:JPA 的主要作用 jpa简单使用(Springboot项目)jpa进阶使用总结 背景: 项目需要自动生成sql代码,不需要写sql语句,能够自动进行查询,我想到了JPA。 方案 概念&a…

Jetpack Compose 不止是一个UI框架~

Jetpack Compose是用于构建原生Android UI的现代工具包。 Jetpack Compose使用更少的代码,强大的工具和直观的Kotlin API,简化并加速了Android上的UI开发。这是Android Developers 官网对它的描述。 本文不是教你Jetpack Compose 的一些基本使用方法&am…

【通过xib自定义Cell Objective-C语言】

一、我们怎么样来自定义单元格呢, 1.我们先来分析一下, 我们这里虽然有很多行,但是每一行,长的都是一样的, 这里有一个Label、那里有一个Label, 每一行每一行,长的都是一样的,唯独只有数据不一样吧, 所以说,遇到这种情况,我们就可以考虑用一个xib,描述一个单元…

倒计时24天!接棒香港展,CTIS2023观众预登记全面启动

4月22日,环球资源春季香港展在亚洲国际展览馆落下帷幕。两期展会,十馆全开,共历时8天。汇聚来自中国大陆、香港、台湾地区、韩国、越南、印度等地逾4,000家优质供应商超过30万件产品。吸引近10万人次的专业观众参观。环球资源为买卖双方打造优质贸易平台,让买家第一时间把握消费…

【Python零基础学习入门篇⑤】——第五节:Python中的函数

⬇️⬇️⬇️⬇️⬇️⬇️ ⭐⭐⭐Hello,大家好呀我是陈童学哦,一个普通大一在校生,请大家多多关照呀嘿嘿😁😊😘 🌟🌟🌟技术这条路固然很艰辛,但既已选择&…

【RDC2022纪念板】RT-Smart D1s上手

目录 环境准备开发板硬件介绍开发环境搭建烧录 环境准备 windows电脑(用于烧录固件和串口日志查看)Ubuntu虚拟机(用于编译生成固件)RDC2022纪念板TypeC数据线 开发板硬件介绍 开发板使用了全志科技的D1s芯片,全志RIS…

PAVC100R4222 PARKER轴向柱塞泵

PAVC100R4222 PARKER轴向柱塞泵特点: 1、壳体为高强度铸铁 2、两段设计便于维护 3、全密封的轴用轴承 4、内置增压器***高转速性能,可达3000 RPM( PAVC100为2600 RPM) 5、控制器为插装形式,易于现场更换 6、配流盘为可替换的青铜复合 10、过滤…

R实践——paleobioDB详解(paleobiology database)

paleobioDB详解(paleobiology database) PBDB初步认识paleobioDB一个简单的例子 所有函数详解1. pbdb_collection描述用法参数细节值例子 2. pbdb_collections描述用法参数值例子 3. pbdb_collections_geo描述用法参数值例子 4. pbdb_interval描述用法参…

成为数据分析师,需要具备哪些技能?

随着互联网的发展,数据分析师的特点越来越明显,对数据分析师综合素质的要求也较高。 1、较强的数据挖掘、信息整理、和逻辑分析能力 数据分析,也是数据分析师的一个方向。 制作日常性的经营报表,对公司或者行业KPI指标进行拆解…

【Linux超强学习路线图】赶紧收藏学习!

​很多朋友在学习Linux时,不知道学什么,不知道怎么学,有的朋友甚至把所有知识点都当成重点学起,但其实这样不仅浪费时间更浪费精力。今天就给大家安排一份「Linux超强学习路线图」! 这张Linux超强学习路线图&#xff…

ThingsBoard使用jar包单机部署的问题以及如何解决问题

1、概述 这一节我将给大家讲述一下前面章节的问题,因为我直接都是跳过问题直接给大家演示正确的步骤,相当于我帮大家把坑踩完了,我主要讲两个问题,尤其是第一个问题,很多人都遇到过。 2、问题1 为什么要在thingsboard.yml中配置install.data_dir? 如果不配置这个inst…

7种优秀的导航菜单设计总结

导航是应用程序界面中最常见的模块之一,在链接应用程序中起着每个页面的作用。 不同的设计需求和业务目标决定了导航的设计因品而异,移动设备的尺寸远小于计算机。因此,在设计移动终端导航时,应考虑更全面,以确保简单…

手把手教你怎么搭建自己的AI数字人直播间?帮你24小时不间断直播卖货

在搭建AI数字人直播间之前,您需要了解数字人技术。 一、什么是AI数字人、数字人直播间? 数字人是一种由人工智能技术构建的虚拟人物,其外貌、行为、语言等特征与真实人物相似,可以与人进行互动。数字人可以通过语音合成、人脸识…

国产化:复旦微JFM7K325T +华为海思 HI3531DV200 的综合视频处理平台

板卡概述 TES714 是自主研制的一款 5 路 HD-SDI 视频采集图像处理平台,该平台采用上海复旦微的高性能 Kintex 系列 FPGA 加上华为海 思的高性能视频处理器 HI3531DV200 来实现。 华为海思的 HI3531DV200 是一款集成了 ARM A53 四核处理 器性能强大的神经网络引擎…

SpringFox SpringDoc 附件ui展示

文章目录 前言一、swagger v3 附件类型参数二、springdoc 附件类型参数1.springfox迁移springdoc注解对应关系2.springdoc 附件参数处理 三、RequestBody、RequestPart、RequestBody的区别3.1 RequestParam3.2 RequestBody3.3 RequestPart 前言 swagger 升级V3后发现swagger u…

【光伏预报/太阳能预报】上海道宁与Solargi为您提供开发地理数据库模拟工具和网络服务

Solargis提供开发地理数据库 模拟工具和网络服务 用于太阳能发电的规划 性能监控和管理 推动全球经济 转向可持续生产和消费 并推广环保能源技术 Solargis数据是用于 屋顶光伏系统性能监测的 日射强度计的实用替代方案 对于大型地面安装光伏系统 Solargis可作为 独立…

DB2 将多行记录合并成一行

SELECT replace(replace(xml2clob(xmlagg(xmlelement(NAME A, wdd.CASE_NUMBER||,))),<A>,),</A>,) AS CASE_NUMBERFROM WMS_DECLARE_DETAIL wdd其中&#xff1a;NAME A 要与 ‘’ 相同 &#xff0c;wdd.CASE_NUMBER 为字段&#xff0c;也可以加上GROUP BY 进行分组…