美文网首页kettle
kettle作业,转换日志

kettle作业,转换日志

作者: 小冕 | 来源:发表于2018-08-10 15:11 被阅读0次

    Kettle以文本行的方式输出日志信息,步骤结束时,可以生成下面的一行日志:

    2010/06/18 10:36:29 - step name.0 - 
    Finished processing (I=0,O=0,R=0,W=25,U=0,E=0)
    

    这个日志行里有以下主要内容:

    1. 日期和时间。
    2. 步骤名,步骤名的后面有一个点号,点号后面是步骤的拷贝号。
    3. 日志内容。
      4.每个部分之间都使用空格、横线、空格来分割。

    作业,转换的日志基本

    • 行级日志:打印出Kettle里所有可用的日志信息,包括在一些比较复杂的步骤里的每一行数据。
    • 调试日志:也打印出很多日志信息,但没有到每一行数据都打印出来的级别。
    • 详细日志:比基本日志多一些日志内容,如多了SQL查询语句和DDL语句等。
    • 基本日志:默认的日志级别,只打印出执行到哪个步骤和作业项的日志信息。
    • 最小日志:只打印出执行到哪个转换和作业的日志信息。
    • 错误日志:只打印出错误日志,如果没有错误也不打印日志。
    • 无日志:不打印任何日志,即使有错误也不打印。

    日志架构

    实际上中心缓存里保存了以下内容:

    • 日期和时间:让Spoon在日志窗口用蓝色显示日志的日期和时间。
    • 日志级别:让Spoon在日志窗口用红色显示错误行。
    • 递增的唯一编号:Kettle对不同日志窗口或者远程日志抽取分配的递增的编号。
    • 日志文本内容:实际的日志文本内容。
    • 日志通道ID:这个ID是随机生成的唯一字符串,用来唯一标识生成日志行的Kettle组件。
      把日志保存在内存里是导致内存溢出的一个主要的原因。当你执行一个作业或转换而且日志级别设置的比较高时,在执行过程中就会产生大量日志。如果你要求Kettle把这些日志信息存储在日志表里,那么这些日志信息就会暂时保存在内存里,最后就会发生内存溢出问题。

    设置缓存大小

    限制日志数量通常想到的第一个方法就是设置缓存大小。可以在Spoon的“选项”对话框里设置这个参数。在对话框里的“日志窗口的最大行数”输入框里设置。要注意该选项只在Spoon里有效
    另一个选择就是设置KETTLE_MAX_LOG_SIZE_IN_LINES环境变量。可以在kettle.properties文件里设置这个环境变量。
    最后,也可以在Carte的配置文件中设置这个参数。例如在服务器的配置XML文件中加入下面的配置行,将中心日志缓存的大小设置为10000行:

    <!-- Prevent out of memory by only keeping 10,000 rows in the central log buffer -->
    <max_log_lines>10000</max_log_lines>
    

    相关文章

      网友评论

        本文标题:kettle作业,转换日志

        本文链接:https://www.haomeiwen.com/subject/othkbftx.html