linux下用命令运行kettle中的trans并传参数
程序员文章站
2022-05-10 21:31:37
...
前言
这个比较简单直接上命令
./pan.sh -file=/home/impdatahd/kettle/kettle_transition/test01.ktr -logfile = /home/impdatahd/kettle/log/zhengkw.log -trans =test01 -param:create_time= '2020-08-01' -level=basic>>/home/impdatahd/kettle/log/test_$(date "+%Y%m%d").log
总结
需要利用 -param: 传递参数 冒号后面跟着键值对,key必须和你的动态参数变量名一致!
这里的2处必须和命令中传递的大小写一致!!!
test03.ktr
这个就作为学习资料放这里供大家参考!
<?xml version="1.0" encoding="UTF-8"?>
<transformation>
<info>
<name>test03</name>
<description/>
<extended_description/>
<trans_version/>
<trans_type>Normal</trans_type>
<trans_status>0</trans_status>
<directory>/</directory>
<parameters>
<parameter>
<name>CREATE_TIME</name>
<default_value>2020-09-05</default_value>
<description/>
</parameter>
</parameters>
<log>
<trans-log-table>
<connection/>
<schema/>
<table/>
<size_limit_lines/>
<interval/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STATUS</id>
<enabled>Y</enabled>
<name>STATUS</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
<subject/>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
<subject/>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
<subject/>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
<subject/>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
<subject/>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
<subject/>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>STARTDATE</id>
<enabled>Y</enabled>
<name>STARTDATE</name>
</field>
<field>
<id>ENDDATE</id>
<enabled>Y</enabled>
<name>ENDDATE</name>
</field>
<field>
<id>LOGDATE</id>
<enabled>Y</enabled>
<name>LOGDATE</name>
</field>
<field>
<id>DEPDATE</id>
<enabled>Y</enabled>
<name>DEPDATE</name>
</field>
<field>
<id>REPLAYDATE</id>
<enabled>Y</enabled>
<name>REPLAYDATE</name>
</field>
<field>
<id>LOG_FIELD</id>
<enabled>Y</enabled>
<name>LOG_FIELD</name>
</field>
<field>
<id>EXECUTING_SERVER</id>
<enabled>N</enabled>
<name>EXECUTING_SERVER</name>
</field>
<field>
<id>EXECUTING_USER</id>
<enabled>N</enabled>
<name>EXECUTING_USER</name>
</field>
<field>
<id>CLIENT</id>
<enabled>N</enabled>
<name>CLIENT</name>
</field>
</trans-log-table>
<perf-log-table>
<connection/>
<schema/>
<table/>
<interval/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>SEQ_NR</id>
<enabled>Y</enabled>
<name>SEQ_NR</name>
</field>
<field>
<id>LOGDATE</id>
<enabled>Y</enabled>
<name>LOGDATE</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STEPNAME</id>
<enabled>Y</enabled>
<name>STEPNAME</name>
</field>
<field>
<id>STEP_COPY</id>
<enabled>Y</enabled>
<name>STEP_COPY</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>INPUT_BUFFER_ROWS</id>
<enabled>Y</enabled>
<name>INPUT_BUFFER_ROWS</name>
</field>
<field>
<id>OUTPUT_BUFFER_ROWS</id>
<enabled>Y</enabled>
<name>OUTPUT_BUFFER_ROWS</name>
</field>
</perf-log-table>
<channel-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>LOGGING_OBJECT_TYPE</id>
<enabled>Y</enabled>
<name>LOGGING_OBJECT_TYPE</name>
</field>
<field>
<id>OBJECT_NAME</id>
<enabled>Y</enabled>
<name>OBJECT_NAME</name>
</field>
<field>
<id>OBJECT_COPY</id>
<enabled>Y</enabled>
<name>OBJECT_COPY</name>
</field>
<field>
<id>REPOSITORY_DIRECTORY</id>
<enabled>Y</enabled>
<name>REPOSITORY_DIRECTORY</name>
</field>
<field>
<id>FILENAME</id>
<enabled>Y</enabled>
<name>FILENAME</name>
</field>
<field>
<id>OBJECT_ID</id>
<enabled>Y</enabled>
<name>OBJECT_ID</name>
</field>
<field>
<id>OBJECT_REVISION</id>
<enabled>Y</enabled>
<name>OBJECT_REVISION</name>
</field>
<field>
<id>PARENT_CHANNEL_ID</id>
<enabled>Y</enabled>
<name>PARENT_CHANNEL_ID</name>
</field>
<field>
<id>ROOT_CHANNEL_ID</id>
<enabled>Y</enabled>
<name>ROOT_CHANNEL_ID</name>
</field>
</channel-log-table>
<step-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>TRANSNAME</id>
<enabled>Y</enabled>
<name>TRANSNAME</name>
</field>
<field>
<id>STEPNAME</id>
<enabled>Y</enabled>
<name>STEPNAME</name>
</field>
<field>
<id>STEP_COPY</id>
<enabled>Y</enabled>
<name>STEP_COPY</name>
</field>
<field>
<id>LINES_READ</id>
<enabled>Y</enabled>
<name>LINES_READ</name>
</field>
<field>
<id>LINES_WRITTEN</id>
<enabled>Y</enabled>
<name>LINES_WRITTEN</name>
</field>
<field>
<id>LINES_UPDATED</id>
<enabled>Y</enabled>
<name>LINES_UPDATED</name>
</field>
<field>
<id>LINES_INPUT</id>
<enabled>Y</enabled>
<name>LINES_INPUT</name>
</field>
<field>
<id>LINES_OUTPUT</id>
<enabled>Y</enabled>
<name>LINES_OUTPUT</name>
</field>
<field>
<id>LINES_REJECTED</id>
<enabled>Y</enabled>
<name>LINES_REJECTED</name>
</field>
<field>
<id>ERRORS</id>
<enabled>Y</enabled>
<name>ERRORS</name>
</field>
<field>
<id>LOG_FIELD</id>
<enabled>N</enabled>
<name>LOG_FIELD</name>
</field>
</step-log-table>
<metrics-log-table>
<connection/>
<schema/>
<table/>
<timeout_days/>
<field>
<id>ID_BATCH</id>
<enabled>Y</enabled>
<name>ID_BATCH</name>
</field>
<field>
<id>CHANNEL_ID</id>
<enabled>Y</enabled>
<name>CHANNEL_ID</name>
</field>
<field>
<id>LOG_DATE</id>
<enabled>Y</enabled>
<name>LOG_DATE</name>
</field>
<field>
<id>METRICS_DATE</id>
<enabled>Y</enabled>
<name>METRICS_DATE</name>
</field>
<field>
<id>METRICS_CODE</id>
<enabled>Y</enabled>
<name>METRICS_CODE</name>
</field>
<field>
<id>METRICS_DESCRIPTION</id>
<enabled>Y</enabled>
<name>METRICS_DESCRIPTION</name>
</field>
<field>
<id>METRICS_SUBJECT</id>
<enabled>Y</enabled>
<name>METRICS_SUBJECT</name>
</field>
<field>
<id>METRICS_TYPE</id>
<enabled>Y</enabled>
<name>METRICS_TYPE</name>
</field>
<field>
<id>METRICS_VALUE</id>
<enabled>Y</enabled>
<name>METRICS_VALUE</name>
</field>
</metrics-log-table>
</log>
<maxdate>
<connection/>
<table/>
<field/>
<offset>0.0</offset>
<maxdiff>0.0</maxdiff>
</maxdate>
<size_rowset>10000</size_rowset>
<sleep_time_empty>50</sleep_time_empty>
<sleep_time_full>50</sleep_time_full>
<unique_connections>N</unique_connections>
<feedback_shown>Y</feedback_shown>
<feedback_size>50000</feedback_size>
<using_thread_priorities>Y</using_thread_priorities>
<shared_objects_file/>
<capture_step_performance>N</capture_step_performance>
<step_performance_capturing_delay>1000</step_performance_capturing_delay>
<step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
<dependencies>
</dependencies>
<partitionschemas>
</partitionschemas>
<slaveservers>
</slaveservers>
<clusterschemas>
</clusterschemas>
<created_user>-</created_user>
<created_date>2020/10/23 17:35:34.158</created_date>
<modified_user>-</modified_user>
<modified_date>2020/10/23 17:35:34.158</modified_date>
<key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key>
<is_key_private>N</is_key_private>
</info>
<notepads>
</notepads>
<connection>
<name>data-dashboard</name>
<server>172.18.215.53</server>
<type>POSTGRESQL</type>
<access>Native</access>
<database>data-dashboard</database>
<port>9876</port>
<username>zhengkaiwen</username>
<password>Encrypted 2be98afc86aa7a88ca00e91228ec0ffe4</password>
<servername/>
<data_tablespace/>
<index_tablespace/>
<attributes>
<attribute>
<code>EXTRA_OPTION_POSTGRESQL.characterEncoding</code>
<attribute>utf8</attribute>
</attribute>
<attribute>
<code>FORCE_IDENTIFIERS_TO_LOWERCASE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>FORCE_IDENTIFIERS_TO_UPPERCASE</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>IS_CLUSTERED</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>PORT_NUMBER</code>
<attribute>9876</attribute>
</attribute>
<attribute>
<code>PRESERVE_RESERVED_WORD_CASE</code>
<attribute>Y</attribute>
</attribute>
<attribute>
<code>QUOTE_ALL_FIELDS</code>
<attribute>N</attribute>
</attribute>
<attribute>
<code>SUPPORTS_BOOLEAN_DATA_TYPE</code>
<attribute>Y</attribute>
</attribute>
<attribute>
<code>SUPPORTS_TIMESTAMP_DATA_TYPE</code>
<attribute>Y</attribute>
</attribute>
<attribute>
<code>USE_POOLING</code>
<attribute>N</attribute>
</attribute>
</attributes>
</connection>
<order>
<hop>
<from>表输入</from>
<to>JSON output</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>JSON output</from>
<to>Kafka producer</to>
<enabled>Y</enabled>
</hop>
</order>
<step>
<name>JSON output</name>
<type>JsonOutput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<outputValue>outputValue</outputValue>
<jsonBloc>data</jsonBloc>
<nrRowsInBloc>1</nrRowsInBloc>
<operation_type>outputvalue</operation_type>
<compatibility_mode>N</compatibility_mode>
<encoding>UTF-8</encoding>
<addtoresult>N</addtoresult>
<file>
<name/>
<extention>json</extention>
<append>Y</append>
<split>N</split>
<haspartno>N</haspartno>
<add_date>N</add_date>
<add_time>N</add_time>
<create_parent_folder>N</create_parent_folder>
<DoNotOpenNewFileInit>N</DoNotOpenNewFileInit>
<servlet_output>N</servlet_output>
</file>
<fields>
<field>
<name>id</name>
<element>id</element>
</field>
<field>
<name>profile_id</name>
<element>profile_id</element>
</field>
<field>
<name>document_org_id</name>
<element>document_org_id</element>
</field>
<field>
<name>carema</name>
<element>carema</element>
</field>
<field>
<name>action</name>
<element>action</element>
</field>
<field>
<name>expression</name>
<element>expression</element>
</field>
<field>
<name>capture_time</name>
<element>capture_time</element>
</field>
<field>
<name>create_time</name>
<element>create_time</element>
</field>
</fields>
<attributes/>
<cluster_schema/>
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>480</xloc>
<yloc>160</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>Kafka producer</name>
<type>KafkaProducerOutput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connectionType>DIRECT</connectionType>
<directBootstrapServers>172.18.215.46:9092</directBootstrapServers>
<clusterName/>
<topic>kettle04</topic>
<clientId>kafka01</clientId>
<keyField>id</keyField>
<messageField>outputValue</messageField>
<advancedConfig>
<option property="compression.type" value="none"/>
<option property="ssl.key.password" value=""/>
<option property="ssl.keystore.location" value=""/>
<option property="ssl.keystore.password" value=""/>
<option property="ssl.truststore.location" value=""/>
<option property="ssl.truststore.password" value=""/>
</advancedConfig>
<attributes/>
<cluster_schema/>
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>720</xloc>
<yloc>160</yloc>
<draw>Y</draw>
</GUI>
</step>
<step>
<name>表输入</name>
<type>TableInput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>data-dashboard</connection>
<sql>SELECT
id
, profile_id
, document_org_id
, carema
, "action"
, expression
, capture_time
, create_time
FROM "public".if_mall_show_record where date(create_time)='${CREATE_TIME}'
</sql>
<limit>0</limit>
<lookup/>
<execute_each_row>N</execute_each_row>
<variables_active>Y</variables_active>
<lazy_conversion_active>N</lazy_conversion_active>
<cached_row_meta_active>N</cached_row_meta_active>
<row-meta>
<value-meta>
<type>Integer</type>
<storagetype>normal</storagetype>
<name>id</name>
<length>15</length>
<precision>0</precision>
<origin>表输入</origin>
<comments>id</comments>
<conversion_Mask>####0;-####0</conversion_Mask>
<decimal_symbol>.</decimal_symbol>
<grouping_symbol>,</grouping_symbol>
<currency_symbol/>
<trim_type>none</trim_type>
<case_insensitive>N</case_insensitive>
<collator_disabled>Y</collator_disabled>
<collator_strength>0</collator_strength>
<sort_descending>N</sort_descending>
<output_padding>N</output_padding>
<date_format_lenient>N</date_format_lenient>
<date_format_locale>zh_CN</date_format_locale>
<date_format_timezone>Asia/Shanghai</date_format_timezone>
<lenient_string_to_number>N</lenient_string_to_number>
</value-meta>
<value-meta>
<type>String</type>
<storagetype>normal</storagetype>
<name>profile_id</name>
<length>255</length>
<precision>-1</precision>
<origin>表输入</origin>
<comments>profile_id</comments>
<conversion_Mask/>
<decimal_symbol>.</decimal_symbol>
<grouping_symbol>,</grouping_symbol>
<currency_symbol/>
<trim_type>none</trim_type>
<case_insensitive>N</case_insensitive>
<collator_disabled>Y</collator_disabled>
<collator_strength>0</collator_strength>
<sort_descending>N</sort_descending>
<output_padding>N</output_padding>
<date_format_lenient>N</date_format_lenient>
<date_format_locale>zh_CN</date_format_locale>
<date_format_timezone>Asia/Shanghai</date_format_timezone>
<lenient_string_to_number>N</lenient_string_to_number>
</value-meta>
<value-meta>
<type>Integer</type>
<storagetype>normal</storagetype>
<name>document_org_id</name>
<length>15</length>
<precision>0</precision>
<origin>表输入</origin>
<comments>document_org_id</comments>
<conversion_Mask>####0;-####0</conversion_Mask>
<decimal_symbol>.</decimal_symbol>
<grouping_symbol>,</grouping_symbol>
<currency_symbol/>
<trim_type>none</trim_type>
<case_insensitive>N</case_insensitive>
<collator_disabled>Y</collator_disabled>
<collator_strength>0</collator_strength>
<sort_descending>N</sort_descending>
<output_padding>N</output_padding>
<date_format_lenient>N</date_format_lenient>
<date_format_locale>zh_CN</date_format_locale>
<date_format_timezone>Asia/Shanghai</date_format_timezone>
<lenient_string_to_number>N</lenient_string_to_number>
</value-meta>
<value-meta>
<type>String</type>
<storagetype>normal</storagetype>
<name>carema</name>
<length>255</length>
<precision>-1</precision>
<origin>表输入</origin>
<comments>carema</comments>
<conversion_Mask/>
<decimal_symbol>.</decimal_symbol>
<grouping_symbol>,</grouping_symbol>
<currency_symbol/>
<trim_type>none</trim_type>
<case_insensitive>N</case_insensitive>
<collator_disabled>Y</collator_disabled>
<collator_strength>0</collator_strength>
<sort_descending>N</sort_descending>
<output_padding>N</output_padding>
<date_format_lenient>N</date_format_lenient>
<date_format_locale>zh_CN</date_format_locale>
<date_format_timezone>Asia/Shanghai</date_format_timezone>
<lenient_string_to_number>N</lenient_string_to_number>
</value-meta>
<value-meta>
<type>String</type>
<storagetype>normal</storagetype>
<name>action</name>
<length>255</length>
<precision>-1</precision>
<origin>表输入</origin>
<comments>action</comments>
<conversion_Mask/>
<decimal_symbol>.</decimal_symbol>
<grouping_symbol>,</grouping_symbol>
<currency_symbol/>
<trim_type>none</trim_type>
<case_insensitive>N</case_insensitive>
<collator_disabled>Y</collator_disabled>
<collator_strength>0</collator_strength>
<sort_descending>N</sort_descending>
<output_padding>N</output_padding>
<date_format_lenient>N</date_format_lenient>
<date_format_locale>zh_CN</date_format_locale>
<date_format_timezone>Asia/Shanghai</date_format_timezone>
<lenient_string_to_number>N</lenient_string_to_number>
</value-meta>
<value-meta>
<type>String</type>
<storagetype>normal</storagetype>
<name>expression</name>
<length>255</length>
<precision>-1</precision>
<origin>表输入</origin>
<comments>expression</comments>
<conversion_Mask/>
<decimal_symbol>.</decimal_symbol>
<grouping_symbol>,</grouping_symbol>
<currency_symbol/>
<trim_type>none</trim_type>
<case_insensitive>N</case_insensitive>
<collator_disabled>Y</collator_disabled>
<collator_strength>0</collator_strength>
<sort_descending>N</sort_descending>
<output_padding>N</output_padding>
<date_format_lenient>N</date_format_lenient>
<date_format_locale>zh_CN</date_format_locale>
<date_format_timezone>Asia/Shanghai</date_format_timezone>
<lenient_string_to_number>N</lenient_string_to_number>
</value-meta>
<value-meta>
<type>Timestamp</type>
<storagetype>normal</storagetype>
<name>capture_time</name>
<length>6</length>
<precision>-1</precision>
<origin>表输入</origin>
<comments>capture_time</comments>
<conversion_Mask/>
<decimal_symbol>.</decimal_symbol>
<grouping_symbol>,</grouping_symbol>
<currency_symbol/>
<trim_type>none</trim_type>
<case_insensitive>N</case_insensitive>
<collator_disabled>Y</collator_disabled>
<collator_strength>0</collator_strength>
<sort_descending>N</sort_descending>
<output_padding>N</output_padding>
<date_format_lenient>N</date_format_lenient>
<date_format_locale>zh_CN</date_format_locale>
<date_format_timezone>Asia/Shanghai</date_format_timezone>
<lenient_string_to_number>N</lenient_string_to_number>
</value-meta>
<value-meta>
<type>Timestamp</type>
<storagetype>normal</storagetype>
<name>create_time</name>
<length>0</length>
<precision>-1</precision>
<origin>表输入</origin>
<comments>create_time</comments>
<conversion_Mask/>
<decimal_symbol>.</decimal_symbol>
<grouping_symbol>,</grouping_symbol>
<currency_symbol/>
<trim_type>none</trim_type>
<case_insensitive>N</case_insensitive>
<collator_disabled>Y</collator_disabled>
<collator_strength>0</collator_strength>
<sort_descending>N</sort_descending>
<output_padding>N</output_padding>
<date_format_lenient>N</date_format_lenient>
<date_format_locale>zh_CN</date_format_locale>
<date_format_timezone>Asia/Shanghai</date_format_timezone>
<lenient_string_to_number>N</lenient_string_to_number>
</value-meta>
</row-meta>
<attributes/>
<cluster_schema/>
<remotesteps>
<input>
</input>
<output>
</output>
</remotesteps>
<GUI>
<xloc>208</xloc>
<yloc>160</yloc>
<draw>Y</draw>
</GUI>
</step>
<step_error_handling>
</step_error_handling>
<slave-step-copy-partition-distribution>
</slave-step-copy-partition-distribution>
<slave_transformation>N</slave_transformation>
<attributes/>
</transformation>
下一篇: 遇见开始