問題タブ [etl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - XML データを SQL Server に保存する最良の方法は何ですか?
かなりまっすぐ進む直接ルートはありますか?(つまり、SQL Server は XML を読み取ることができます)
それとも、XML を解析し、通常の方法で ADO.Net を介して個々の行またはバッチ更新として転送するのが最善でしょうか?
大規模で複雑なストアド プロシージャを含むソリューションが存在する可能性があることは認識しています。これに完全に反対しているわけではありませんが、ビジネス ロジックのほとんどを C# コードに含めることを好む傾向があります。SQLXMLBulkLoad を使用したソリューションを見たことがありますが、かなり複雑な SQL コードが必要なようです。
参考までに、一度に約 100 行を処理し、それぞれに約 50 個の小さなデータ (文字列と整数) を使用します。これは最終的に毎日のバッチ ジョブになります。
提供できるコード スニペットは、非常に高く評価されます。
sql - さまざまなテーブルからIDを(すばやく)照合するにはどうすればよいですか?
非正規化されたテーブルが3つあり、額面どおりに取得する必要があります(データは外部リソースから取得されます)。3つのテーブルには異なる定義がありますが、それぞれが異なる視点から同じオブジェクトを記述しています。
これらのテーブル間の唯一の共通点は、主キーです。SELECT UNION SELECTを使用してIDをまとめることはできますが、各テーブルにPKフィールドのインデックスが付けられている場合でも、クエリは比較的遅いようです。このクエリvw_object_idsを抽象化するビューを作成することもできますが、同じ速度で実行されます。ビューをマテリアライズするためにインデックスを追加できると思いましたが、SQL Server 2005では、UNIONを使用してビューにインデックスを付けることはできません。
IDのマスターインデックスを基になるデータと同期させたいのですが、基になるデータはいつでも更新または削除される可能性があります。クレイジーなトリガーのセットを使用してこれを無期限に達成することも、インデックス付けされていないビューの速度で解決することもできると思います。ただし、オプションが不足していないこと、またはこのシナリオに名前があるか、パターンを示しているかどうかを確認したかっただけです。
考え?
c# - ADO.Netで350,000行を最適に挿入する方法
350,000行のcsvファイルがあり、各行には約150列があります。
ADO.Netを使用してこれらの行をSQLServerに挿入する最良の方法は何でしょうか。
私が通常行っている方法は、SQLステートメントを手動で作成することです。データテーブル全体をSQLServerに挿入するようにコーディングできる方法があるかどうか疑問に思いました。または、このようなショートカット。
ちなみに、私はすでにSSISでこれを試しましたが、C#では処理できるが、SSISではそれほど簡単ではないデータクリーンアップの問題がいくつかあります。データはXMLで始まりましたが、簡単にするためにCSVに変更しました。
sql-server - 非正規化されたリレーショナル データを Excel から SQL Server にインポートする
Excel スプレッドシートから SQL Server にデータをインポートする必要がありますが、データはリレーショナル/正規化された形式ではないため、インポート ウィザードはデータをカットしません (私の知る限り)。
データの形式は次のとおりです。
(申し訳ありませんが、午前中のこの時点で「実際の」データを思いつくには創意工夫が欠けています...)
各行には固有の製品が含まれていますが、カテゴリ構造が重複しています。このデータを 3 つのテーブルにインポートします。
(SubCategory は実際には Category に含まれている必要があることはわかっています。DB は私の設計ではありません)
カテゴリに基づいて一意の行をインポートし、次に SubCategory 列をインポートし、他の列を Product にインポートするときに、名前に基づいて SubCategory への参照を取得する方法が必要です。
これをスクリプト化する以外に、インポート ウィザードまたはその他のツールを使用してそれを行う方法はありますか?
sql-server - 誰かがCozyRocSSIS+を使用しましたか?
私はカナダの大手小売業者で働いており、現在、私たちの大規模なETLプロジェクトにCozyRocを使用することを検討しています。誰かがこのソフトウェアを、理想的には電子メールチェーンまたは電話で推薦できるかどうか疑問に思いました。
database - 大規模なデータセット ssis で増分負荷を処理する方法
一致するレコードと一致しないレコードに対して挿入/更新アクションを実行する必要がある 2 つのテーブル (〜 400 万行) があります。増分ロードに使用しなければならない方法について、かなり混乱しています。Lookup コンポーネントまたは新しい SQL Server マージ ステートメントを使用する必要がありますか? あまりにも多くのパフォーマンスの違いがありますか?
email - アドホック データ処理 / ETL
アウトソーシング コミュニケーション (印刷物と郵送、電子メール、ファックスなど) の新しい会社で働き始めたばかりです。要件の 1 つは、クライアント データを処理して郵送できるようにすることです。
定期的なジョブの場合、アドレス指定ソフトウェアにリンクされた ETL ツールを使用すると簡単ですが、アドホックなジョブの場合は少しやり過ぎです。以前に社内で開発したものを使用したことがありますが (不格好ですが使用可能です)、ここで再開発する必要はありません。推奨事項はありますか?
いくつかの機能:
- 基本的な DBMS 機能 (SQL サポート用の適切な DBMS バックエンドを備えていることが望ましい)
- フィールドの連結 (例: Firstname + Surname の結合)
- 「列のプッシュ」 (たとえば、アドレス フィールド 1 ~ 8 を左にプッシュすると、1 つが空白の場合、次の列がプッシュされます)
- オーストラリアの郵便の仕分けと dpid の割り当て (または比較的簡単に外部ツールにリンクできます)
ssis - SSIS トランザクション - 大規模なレコード セット
SSIS が大規模なデータ セットのトランザクションをどのように処理するのか疑問に思っています。約 150,000 行の「大規模な」データ セットがあり、ステージング データベースからライブ データベースへの ETL の一部として、ビジネス ルールに対して各データ セットを検証する必要があります。
いずれかのレコードがビジネス ルールに違反した場合、ライブ データベースにレコードが残らないようにする必要があります (つまり、トランザクションをロールバックします)。
私の質問は、SSIS が大規模なトランザクションをどのように処理するかです。149,999 件のレコードの入力を処理し、最後のレコードがビジーレス ルールに違反した場合、すべてをロールバックしますか? または、この種の大規模なデータ転送操作を実行するためのより良いベスト プラクティスはありますか?
私の現在の考えは、コンテナーでトランザクション設定を有効にして、制御フロー レベルでシーケンス コンテナー内の各レコードを処理することです。すべての検証はシーケンス コンテナー内で行われ、挿入もこのコンテナー内で行われます。
sql-server - SSISパッケージのパスワードを回復またはリセットする方法は?
会社を辞めてもう到達できない開発者によってパスワードで保護された(保護レベルは明らかにEncryptAllWithPasswordである)SSISパッケージがいくつかあります。それらを開こうとすると、パスワードを使用できないため、次のエラーが発生します。提供:
'Package.dtsx'の読み込みエラー:エラー0xC0014037でパッケージ保護を削除できませんでした。「パッケージはパスワードで暗号化されています。パスワードが指定されていないか、正しくありません。」これは、CPackage::LoadFromXMLメソッドで発生します。
これらのパッケージを開く方法はありますか?これらのパッケージを作成するために最初に使用された管理者アカウントにアクセスでき、同じ人が他のパッケージを暗号化していますが、私が知っている別のパスワードを使用しています。
この問題について地元のマイクロソフトの担当者に連絡しましたが、これまでのところ、パスワードの設定または変更方法を説明するページにリンクしているだけですが、最初にパッケージを開くか、古いパスワードを入力する必要があるため、役に立ちません。誰かが以前に同様の状況にあったか、この問題を回避する方法を知っていますか?
sql - ETLの優れたSQLServerIntegration Services(SSIS)の例/サンプルに関する推奨事項
SSISを使用して、必ずしも同じインスタンス内にあるとは限らない、あるSQLServerデータベースから別のデータベースにETLを実行するための適切な例/サンプルを探しています。
アイデアは、データの行とその階層(関係)を1つのOLTPデータベースから別のデータベースに移行することです。
SSISにはいくつかの利点があり、移行/ ETLプラットフォームとして適しています(特に、完全に構成可能で、自動スケジュールで実行できる必要があります)。
MSコミュニティのサンプル(Codeplex上)以外に、まともなサンプル/例を知っている人はいますか?
編集:私はhttp://www.sqlis.com/も調べましたが、探しているものが正確に見つかりませんでした。