2

ETLプロセスを使用してデータウェアハウスにデータをロードする必要があるプロジェクトに取り組んでいます。csv、非構造化、フラットファイル形式のデータがあります。シェルスクリプトを使用してETLプロセスを実行することを考えています。私はbashシェルとKornShell(ksh)の両方についてほとんど知りませんが、ETLプロセスは非常に新しいです。だから私の質問は、ETLプロセスのためのより良いオプションは何ですか?Bash ShellとKornShellのどちらを使用する必要がありますか?

ETLプロセスとシェルスクリプトの経験があるユーザーからの回答を高く評価します。

少し早いですがお礼を。

4

2 に答える 2

4

通常、私のETLプロセスはSQLステートメントを使用してデータベース内変換を行うため、実際には「ELT」プロセスです。シェルは、ファイルを移動したり、データのロードと抽出を実行したり、SQLステートメントを実行したりするためのツールとして機能します。DWが十分に強力なシステム上にある場合、データ変換を行うEDWの外部にシステムを配置することに設定されていない限り、通常は変換作業を行うのに最適な場所です。

私が説明したようなELTプロセスのシェルの選択は、実際にはメンテナンスの1つです。あなたがいなくなったとき、誰がこれをサポートしますか?会社にはbashを知っている人がたくさんいますが、KSHを知っている人は1人だけですか?それとも99%が.NETショップですか?次に、ETLを小さなC#コンソールアプリで作成することをお勧めします。実際の「ETL」ツールを使用していない場合にETLを実行するために使用する言語の選択は、「最良の」言語ではなく、これらの要素に焦点を当てる必要があります。

于 2013-02-05T15:54:00.847 に答える
3

Kornは少しポータブルです。Bashははるかに強力です。「Bourneshell」は最小公分母です。

すべてが同じであれば、「bash」をお勧めします。特にプラットフォームがLinuxの場合。

私見では ..

PS:

「bash」という名前は「BourneAgainShell」の略で、元の「Bourne」シェルからの遺産のしゃれです。Bourneスクリプトはbashと互換性がありますが、その逆はありません。

于 2013-02-05T06:27:05.460 に答える