常用的Transformation

 Transformation

RDD中的所有转换都是延迟加载的,也就是说,它们并不会直接计算结果。相反的,它们只是记住这些应用到基础数据集(例如一个文件)上的转换动作。只有当发生一个要求返回结果给Driver的动作时,这些转换才会真正运行。这种设计让Spark更加有效率地运行。

 

常用的Transformation

转换

含义

map(func)

返回一个新的RDD,该RDD由每一个输入元素经过func函数转换后组成

filter(func)

返回一个新的RDD,该RDD由经过func函数计算后返回值为true的输入元素组成

flatMap(func)

类似于map,但是每一个输入元素可以被映射为0或多个输出元素(所以func应该返回一个序列,而不是单一元素)

mapPartitions(func)

类似于map,但独立地在RDD的每一个分片上运行,因此在类型为TRDD上运行时,func的函数类型必须是Iterator[T] => Iterator[U]

mapPartitionsWithIndex(func)

类似于mapPartitions,但func带有一个整数参数表示分片的索引值,因此在类型为TRDD上运行时,func的函数类型必须是

(Int, Interator[T]) => Iterator[U]

sample(withReplacement, fraction, seed)

根据fraction指定的比例对数据进行采样,可以选择是否使用随机数进行替换,seed用于指定随机数生成器种子

union(otherDataset)

对源RDD和参数RDD求并集后返回一个新的RDD

intersection(otherDataset)

对源RDD和参数RDD求交集后返回一个新的RDD

distinct([numTasks]))

对源RDD进行去重后返回一个新的RDD

groupByKey([numTasks])

在一个(K,V)RDD上调用,返回一个(K, Iterator[V])RDD

reduceByKey(func, [numTasks])

在一个(K,V)RDD上调用,返回一个(K,V)RDD,使用指定的reduce函数,将相同key的值聚合到一起,与groupByKey类似,reduce任务的个数可以通过第二个可选的参数来设置

aggregateByKey(zeroValue)(seqOp, combOp, [numTasks])

 

sortByKey([ascending], [numTasks])

在一个(K,V)RDD上调用,K必须实现Ordered接口,返回一个按照key进行排序的(K,V)RDD

sortBy(func,[ascending], [numTasks])

与sortByKey类似,但是更灵活

join(otherDataset, [numTasks])

在类型为(K,V)(K,W)RDD上调用,返回一个相同key对应的所有元素对在一起的(K,(V,W))RDD

cogroup(otherDataset, [numTasks])

在类型为(K,V)(K,W)RDD上调用,返回一个(K,(Iterable<V>,Iterable<W>))类型的RDD

cartesian(otherDataset)

笛卡尔积

pipe(command, [envVars])

 

coalesce(numPartitions)

 

repartition(numPartitions)

 

repartitionAndSortWithinPartitions(partitioner)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Kettle是一款开源的数据集成工具,常用于数据抽取、转换和加载等ETL(Extract, Transform, Load)操作。Kettle基于Java开发,可运行在不同的操作系统上,包括Linux系统。 在Linux系统,可以使用以下命令来操作Kettle: 1. kitchen: 运行Kettle的作业(Job)。可以使用该命令执行已经在Kettle编写好的作业,实现数据的抽取、转换和加载等操作。例如,可以使用"kitchen.sh -file=/home/user/job.kjb"来执行名为"job.kjb"的作业文件。 2. pan: 运行Kettle转换Transformation)。可以使用该命令执行已经在Kettle编写好的转换,实现数据的处理和转换等操作。类似于"kitchen"命令,可以使用"pan.sh -file=/home/user/trans.ktr"来执行名为"trans.ktr"的转换文件。 3. carte: 启动Kettle的远程服务。可以使用该命令启动Kettle的远程执行模式,使多个客户端可以通过网路访问并执行Kettle作业或转换。 4. spoon: 运行Kettle的图形化界面。可以使用该命令启动Kettle的图形化界面,通过拖拽和连接组件的方式进行作业和转换的设计和编辑。 5. kitchen.sh / pan.sh / spoon.sh -help: 查看Kettle命令的帮助信息。可以使用该命令来获取各个命令的使用方法和参数说明。 除了以上这些常用命令,Kettle还提供了丰富的命令和参数选项,用于控制各个作业和转换的详细执行流程。通过对Kettle的命令行操作,可以实现自动化的数据集成和处理任务,提高工作效率和数据质量。 ### 回答2: Kettle是一款强大的开源ETL工具,用于数据仓库的建立和数据转换过程的实现。在Linux系统,我们可以使用一些常见的命令来使用和管理Kettle。 1. ./spoon.sh:这是启动Kettle可视化开发环境的命令。通过这个命令,可以打开Kettle的图形化界面,进行ETL作业的开发和管理。 2. ./pan.sh:这个命令用于执行Kettle的转换作业。通过指定转换作业的文件路径,可以在命令行直接运行Kettle的转换作业,实现数据的转换和处理。 3. ./kitchen.sh:这个命令用于执行Kettle的作业。与pan.sh命令类似,但kitchen.sh命令用于执行Kettle的作业,而不是转换作业。通过指定作业文件的路径,可以在命令行运行Kettle的作业。 4. ./carte.sh:这个命令用于启动Kettle的服务模式。通过在命令行运行carte.sh命令,可以将Kettle作为服务在后台运行,以便实现作业和转换的远程执行和管理。 5. ./pan.sh -file:这是一个在命令行执行指定转换作业的命令。通过指定转换作业的文件路径,可以在命令行直接执行该转换作业,并查看执行结果。 这些是使用Kettle的常用命令,可以通过这些命令来操作和管理Kettle的作业和转换,在Linux系统更方便地进行ETL过程的实现和数据仓库的建立。 ### 回答3: Linux Kettle 是一款功能强大的开源ETL工具,用于数据集成和转换。下面是一些Linux Kettle 常用命令: 1. kitchen: 该命令用于运行作业(Job)文件,可通过指定作业文件的路径来执行。例如,kitchen /path/to/job.kjb。 2. pan: pan 命令用于运行转换Transformation)文件,也可以通过指定转换文件的路径来执行。例如,pan /path/to/transform.ktr。 3. kitchencmd: 该命令与 kitchen 相似,但可以在命令行界面(CLI)使用更多选项来控制作业的执行。例如,kitchencmd -job="/path/to/job.kjb" -param:PARAM_NAME=param_value。 4. pancmd: 与 pan 类似,但可以在 CLI 使用更多选项来控制转换的执行。例如,pancmd -trans="/path/to/transform.ktr" -param:PARAM_NAME=param_value。 5. carte: 用于启动一个 Kettle 远程服务器(Carte),该服务器可以执行作业和转换。例如,carte.sh /path/to/carte-config.xml。 6. spoon: 该命令可启动 Kettle 的可视化开发环境(Spoon),用于可视化设计作业和转换。例如,spoon.sh。 7. kitchen.sh: 类似于 kitchen,但在 Linux 上使用。例如,kitchen.sh -file="/path/to/job.kjb"。 8. pan.sh: 类似于 pan,但在 Linux 上使用。例如,pan.sh -file="/path/to/transform.ktr"。 9. ktrsplitter.sh: 该命令用于将复杂的转换文件拆分为多个较小的转换文件。例如,ktrsplitter.sh -file="/path/to/transform.ktr" -targetFolder="/path/to/output"。 这些命令是 Linux Kettle 一些常用的命令,可帮助用户在 Linux 系统执行作业和转换任务。这些命令的使用可以通过查看 Kettle 的官方文档和使用手册的详细说明来进一步学习和了解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值