kettle子转换即映射
kettle子转换即映射 子转换是非常好的特性,可以实现整个转换重用;所以如果你需要拷贝、粘贴一些相同的步骤到多个其他转换中,就可以考虑使用子转换(即映射),可以使你的ETL程序更简洁。 子转换通常从父转换中接收行输入数据,针对输入数据进行处理,再传
kettle子转换即映射
子转换是非常好的特性,可以实现整个转换重用;所以如果你需要拷贝、粘贴一些相同的步骤到多个其他转换中,就可以考虑使用子转换(即映射),可以使你的ETL程序更简洁。
子转换通常从父转换中接收行输入数据,针对输入数据进行处理,再传回给父转换。所以子转换需要有一个输入步骤和用于运行时连接到父转换的输出步骤。这些接口步骤中定义输入、输出行数据的字段结构。子转换为了实现可重用性,所以当父转换调用子转换,父转换的行字段被映射到子转换的字段作为输入;同样映射发生在处理完,返回给父转换。所以子转换也称之为映射。
下面通过示例学习子转换,把计算的内容重构,放入到一个子转换中。示例代码在这里下载。示例中的奇偶校验代码可能需要参考另一篇文章。
示例转换
本示例是针对数字做计算,接收一个输入值并计算奇偶校验位(二进制中1的位数),并计算所有位数数字之和(十进制表示中数字之和),最后输出到excel中。
示例比较简单,假设该计算需要在项目的其他几个转换中使用,让我们重构上面示例,让其可以在其它转换中调用。
子转换存储在一个单独的文件中。“Mapping input specification”步骤作为输入,计算步骤在中间,”Mappingoutput specification”步骤作为输出,这些和映射相关的步骤在Mapping分类中。下图显示了输入步骤的配置。需要父转换转入一个整型字段名称为value到当前子转换,这些字段可能在后面的步骤中使用。复选框表示其他字段也将传入,他们流经子转换不受影响;这非常有用,如果父转换有多个字段,而子转换只需要其中一部分字段,就需要使用此选项确保其他字段不受影响。
计算步骤保存不变,输出另外两个字段,分别为奇偶校验位和位数之和。输出步骤无需配置,作用为提供从前面步骤输出字段给父转换。
到此子转换设计已经完成,现在需要给父转换调用,选择“Mapping”步骤(子转换)来实现。映射步骤需要确定调用那个子转换及是否需要传入任何命名参数,以及其他一些转换的公共属性;子转换很容易指定,通过文件或库路径指定。“generate random integer”步骤数据流传入子转换,子转换处理后的数据流输出到“Excel Output”步骤。把子转换连接在generate random integer”步骤和“Excel Output”步骤之间。然后在子转换步骤配置中,增加输入选项卡和输出选项卡,并且都选中两者“Is this the main data path?”选项,这就告诉kettle根据连接的原步骤和目标步骤来演绎。另外输入选项卡需要指定输入行字段和子转换的字段之间的映射关系。示例中的唯一输入字段已经是value,所以配置很容易。

关于子转换的重构已经完成,主转换调用子转换并存储结果到excel中,可以下载示例进行验证。
保留字段名称
上面的示例字段映射比较简单。实际场景中输入字段不一定和子转换中定义的名称一致。这时你可以选择让子转换做起工作并返回子转换中的字段名称,或者选择把子转换中的字段重命名成原来的输入的名称。通过“Ask these values to be renamed back on output?”选项实现,假设你映射输入字段”foo”到子转换的名称“bar”,如果你不选中该选项,表示从子转换中输出字段名称为bar;反之选中该选项,输出字段名称还是原来的foo。这个特性让子转换具有解耦性相对父转换。
上面示例子转换仅有一个输入、输出,然而子转换可以有多个输入、输出。为了演示,我们分离计算步骤成两条独立的路径,分别为计算奇偶校验位和技术位数和。
现在子转换有两个输入、输出,从父转换的整数值需要传入到两个输入并且输出到不同的excel文件中。这样保存奇偶校验位在一个文件中,位数之和在另一个文件中。父转换也需要重构并改变。
如果你下载了示例,你将注意映射步骤有两个输入和输出。“Is this the main data path?”选项不再选中,期望kettle根据连接从输入到输出已不现实。原步骤和目标步骤都是手工定义的;其实映射步骤和输入、输出之间的连接是象征性的,完全可以删除连接却不影响运行(不用担心,你完全可以试试)。示例中保留连接,这样看起来比较习惯。另外需要指出的是,“Generate random integer”步骤有两个后续步骤(子转换的两个输入步骤),因此需要复制记录到两个后续步骤,而不是分发。
结论
kettle映射特性让转换有了可重用性,让ETL程序具有简洁性。其输入、输出步骤及参数配置非常灵活,几乎可以让任何复杂的转换重构成可重用的子转换。如果转换比较大,也可以重构成连续的子转换组合实现。子转换让转换数据流案结构化,更容易理解。
ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











WPSでWordを使用する場合、写真や表などを挿入することがよくありますが、挿入した表が中央揃えでないと文書全体の美しさに影響しますので、WPS表の中央揃えを設定するにはどうすればよいでしょうか?今回はその調整方法をご紹介します 具体的な手順は以下の通りですので、ぜひご覧ください。 1. 写真の表がページの中央になく、あまり美しくないので、中央に配置したいです。 2. まず、表内でマウスを右クリックします (図を参照)。 3. 次に、右クリックメニュー(図の赤矢印)の[すべてのテーブルを選択]をクリックします。 4. クリックすると、テーブルが完全に選択されます (次の図を参照)。 5. このとき、wps textの[スタート]タブをクリックして開きます(図の赤矢印)。 6時

オフィスでも Adobe Acrobat Pro 9 ソフトウェアを使用していますか?しかし、Adobe Acrobat Pro 9 に画像を挿入する方法はご存知ですか?以下では、エディターが Adobe Acrobat Pro 9 に画像を挿入する方法を示します。以下をご覧ください。 Adobe Acrobat Pro9 で Sample.pdf ドキュメントを開き、[ツール] - [コンテンツ] をクリックし、ドキュメントの右側にある [オブジェクトの編集] を選択すると、マウス カーソルが実線の矢印 + 右下の小さなボックスに変わります。コーナー。文書の空白部分を右クリックし、「画像の挿入」を選択します。ダイアログ ボックスが表示されるので、ダイアログ ボックスで ElenaGilbert.JPEG 画像ファイルを選択します (確認してください)

Microsoft Excel でセルを分割する方法を知っていますか? 以下では、Microsoft Excel でセルを分割する方法をエディターで説明します。お役に立てれば幸いです。エディターで学習しましょう! 1. まず、結合された Excel のセルを開きます。以下に示すように、テーブルを作成します。 2. 結合されたセルを選択し、下の図に示すように、上部に下向きの矢印が付いた「中央を結合」ボタンをクリックします。 3. 次に、以下の図に示すように、「セルの結合を解除」を選択します。 4. 以下の図に示すように、セルが分割されていることがわかります。以上がエディターが提供するMicrosoft Excelのセル分割方法の全内容ですので、ご参考になれば幸いです。

全角の英字を半角に変換する実践的なヒント. 現代の生活において私たちは英語の文字に触れる機会が多く、パソコンや携帯電話などを使用する際に英語の文字を入力する必要が多くなります。ただし、場合によっては全角の英字が登場するため、半角形式を使用する必要があります。では、全角の英字を半角に変換するにはどうすればよいでしょうか?ここでは、いくつかの実践的なヒントを紹介します。まず、全角英数字とはインプットメソッド内で全角の位置を占める文字のことを指しますが、半角英数字は全角の位置を占めます。

QQ Music を使用すると、誰でも映画を楽しんだり、退屈を解消したりすることができます。このソフトウェアを毎日使用して、あなたのニーズを簡単に満たすことができます。誰もが聴くことができる高品質の曲が多数用意されています。ダウンロードして保存することもできます。次回聴くときはインターネット接続は必要ありません。ここでダウンロードした曲は MP3 形式ではないため、他のプラットフォームでは使用できません。メンバーシップ曲の有効期限が切れると、再度聴くことはできません。そのため、 , 多くの友人が曲を MP3 形式に変換したいと考えています。ここでは、編集者が説明します。誰もが使用できるように方法を提供しています。 1. コンピュータで QQ Music を開き、右上隅の [メインメニュー] ボタンをクリックし、[オーディオトランスコーディング] をクリックし、[曲を追加] オプションを選択して、変換する必要がある曲を追加します; 2. 追加した後、曲をクリックして [mp3] に変換を選択します

この記事では、PHPの月を英語の月に変換する方法と具体的なコード例を詳しく紹介します。 PHP 開発では、デジタル月を英語の月に変換する必要がある場合があります。これは、一部の日付処理またはデータ表示シナリオでは非常に実用的です。以下に実装原理、具体的なコード例、注意点について詳しく説明します。 1. 実装原理 PHP では、DateTime クラスと format メソッドを使用して、デジタル月を英語の月に変換できます。日付

PHP チュートリアル: Int 型を文字列に変換する方法 PHP では、整数データを文字列に変換するのが一般的な操作です。このチュートリアルでは、PHP の組み込み関数を使用して int 型を文字列に変換する方法を、具体的なコード例を示しながら紹介します。キャストを使用する: PHP では、キャストを使用して整数データを文字列に変換できます。この方法は非常に簡単で、整数データの前に(文字列)を追加するだけで文字列に変換できます。以下は簡単なサンプルコードです

全角英文字を半角文字に変換する方法 日常生活や仕事の中で、パソコンのパスワードを入力するときや文書を編集するときなど、全角英文字を半角文字に変換する必要がある場面に遭遇することがあります。レイアウトの設計。全角英数字は漢字と同じ幅の文字を指し、半角英数字はそれより狭い幅の文字を指します。実際の運用では、文字や数字をより便利に処理できるように、全角英字を半角文字に変換する簡単な方法をマスターする必要があります。 1. 全角英字と半角英字
