SPL语言总结

SPL语言总结

一、常用操作符以及其参数:

1、Composite

可以理解为当前文件的主类。

常用参数:

Graph:详见下文。

Type:定义Stream类型。

常用参数类型:rstring、uint32、float64、list>

Param:参数以及参数值

Config:配置参数以及参数值

2、Graph

Composite的子图,它描述数据流的流向,可以在任意调用它的地方扩充他。

3、Beacon

可以动态生成元组,没有输入端,有一个固定的输出端。

参数:

Param:

Period:连续提交元组的时间间隔,一般使用float64来按秒定义

Iterations:指定元组的生成数量,使用uint32

initDelay:产生元组前的延迟

Output:

要输出的数据

4、Custom

可以接收和发送的操作符,但是在其中不做任何的操作。

Logic:用于不同的输入进行相应。

State:定义变量

onTuple(有1个及以上的输入,0个及以上的输出)、onPunct(有1个及以上的输入,0个及以上的输出)、onProcess(有0个输入,0个及以上的输出)

Submmit:参数tuplevalue|enum 和 T|uint32

Config:配置信息

5、Tuple

元组,也就是一组属性值的集合。

可嵌套使用,元组内参数顺序不同,元组不同,可以通过点操作来获取属性值。

6、Import

导入匹配的流数据。

Param:

applicationName:指定工程名称,格式为 命名空间::当前文件名

applicationScope:导出流的工程范围

Filter:过滤器

streamId:指定导入流的名称

Subscription:根据Export的properties指定,必须是常量

streamId和subscription只能指定一个

7、Split

根据条件把数据流分割成一个或多个。有一个输入端口,1个或多个输出端口,输入输出的类型一致。

Param:

Index:指定条件输出后的索引值,如果不指定file和key的话,它必须指定。

File:指定tuple输出到条件文件

Key:指定分组条件的关键字

Config:配置信息

8、Filter

根据条件,输出符合条件和不符合条件的两组结果输出。只有一个输出,有一个或两个输出。First Output 是匹配元组输出,second Output 是不匹配元组输出。

Param:

Filter:过滤条件

9、Functor

将输入元组选择性的输出到输出元组中。

Param:

Filter:过滤条件

10、Union

联合。将多个输入流结合到一起,用一个端口输出。输入的多个端口和要输出的端口类型和字段名称要一致。

11、DirectoryScan

扫描读取符合要求的文件,生成文件名称。没有输入端口,有一个输出端口,且输出端的类型为tuple,必须使用output或输出流输出到该操作符的输出流中。

Param:

Directory:要扫描的文件目录

MoveToDirectory:移动达到地址。生成tuple之前必须移到文件夹,可以避免重复扫描

Pattern:匹配扫描的文件类型,末尾要加结束符$

sortBy:文件扫描结果,值可以为date或name

Order:升序ascending 降序descendin

sleepTIme:扫描间隔时间

initDelay;开始产生tuple的延迟时间

ignoreDotFiles:忽略符号.开头的文件

ignoreExistingFilesAtStartup:忽略已存在的文件

方法:

Rstring FillPath(); 获取文件路径

Rstring FileName(); 获取文件名

Rstring FullPath(); 获取全路径

Rstring DestinationFullPath(); 获取文件夹绝对路径

Rstring Directory(); 文件夹

Rstring DestinationDirectory(); 目标文件夹

Rstring DestinationFilePath(); 目标文件夹文件

Uint64 size(); 获取文件大小

Uint64 Atime(); 获取文件access time

Uint64 Ctime(); 获取文件change time

Uint64 Mtime(); 获取文件modification time

12、FileSource

读取文件并生成元组任何SPL表达式和函数都可以作为输出。

Param:

File:若有输入端,不设置该属性,若没有,则必须设置该属性。

Format:确定文件格式,txt(按行读取,字面值必须用引号引起来),cvs(按行读取,字面值不用引号),bin,link,block

Hasheaderline:默认值为false,表示不忽略首行;true表示忽略首行;n表示忽略n行,CVS适用

hasDelayField:指定延迟时间

ingoreOpenErrors:默认true,表示忽略打开错误并打开下一个文件;false则表示打开错误后中止操作

defaultTuple:属性值缺失的时候,用默认值代替,CVS适用

Parsing:指定文档的分析方式:strict(错误格式的数据会导致停止)、permissive(跳过并记录错误数据)、fast(不做任何的核对操作)

Compression:文件压缩模式

hotFile:文件结束之后继续等待,若文件变小重置文件开端。默认false,若为true终止重置的时候发送消息。有输入端、deleteFile、moveFileToDirectory无法指定。

deleteFile:处理完成之后删除文件

moveFileToDirectory:处理结束后发送文件至指定文件夹。

eolMarker:指定行结束符,类型rstring,默认”/n”

initDelay:开始产生元组的延迟时间

Separator:指定cvs分隔符

函数:

FileName(); 获取文件名

TupleNumble(); 获取元组数

二、常用函数:

1、String相关函数

  1. length(str):计算字符串长度
  2. Lower(str):将字符串转化为全小写
  3. Upper(Str):将字符串转化为全大写
  4. Trim(str,delStr):在首尾删除固定的字符串
  5. Substring(index,length):截取下标从index开始,长度为length的字符串,下标从0开始。
  6. Find(str)

2、时间相关函数

  1. getTimeStamp(); 获取当前系统时间,毫秒级
  2. GetTimeStameInSecs(); 获取当前时间,秒级
  3. Ctime(date);转换为国际标准时间
  4. Day(date);获取日期中的天
  5. DayOfWeek(date); 获取日期在一周的哪一天
  6. DayOdYear(date); 获取在一年中的哪一天
  7. diffAsNanos();|diffAsSecs();获取时间差
  8. GmXXX();系列函数,xxx可以是year,dayOfYear,month,dayOfWeek,day,hour,minute,second

3、数学函数

  1. Abs(); 取绝对值
  2. Avg(); 取平均值
  3. Ceil(); 向上取整
  4. Floor(); 向下取整
  5. Max(); 取最大数
  6. Median(); 取中间值
  7. Min(); 取最小值
  8. Random(); 取随机数
  9. Round(); 四舍五入
  10. Sum(); 求和

你可能感兴趣的:(java相关,java)