sql >> データベース >  >> RDS >> Database

ドキュメントをAzureDataLakeにアップロードし、SSISを使用してデータをエクスポートします

    はじめに

    Azureは毎日成長しています。 Microsoftは、2010年にリリースされたクラウドコンピューティングサービスであるAzureを作成しました。

    Microsoftによると、フォーチュン500企業の80%がAzureを使用しています。また、Azureの収益の40%は、スタートアップ企業と独立系ソフトウェアベンダーからのものです。 Azure仮想マシンの33%がLinuxを使用しています。マイクロソフトは2018年に200億ドルの収益を見込んでいます。

    そのため、企業はデータの一部をAzureに移行し、場合によってはすべてのデータを移行しています。

    Azure Data Lakeは、Azureでビッグデータを並行して分析するための特別なストレージです。分析用に最適化されています。ソーシャルネットワークデータ、メール、ドキュメント、センサー情報、地理情報などを保存できます。

    データを保存するだけの場合は、AzureBlobStorageで十分です。データを分析する場合は、レポート用に設計されているため、データレイクが最適なオプションです。

    データレイクストアは通常、Cortana Analytics Suite、Power BIを使用して分析されます。SSISは、データを移行するためのよく知られた人気のあるツールです。この新しい記事では、SSISを使用してデータをAzureに移行する方法を示します。また、Azure DataLakeStoreの.txtファイルからオンプレミスのSQLServerにデータをエクスポートする方法も示します。

    Azureの経験はないが、SSISの経験がある場合。この記事はあなたのためです。

    次の手順に従って、AzureDataLakeにデータをインポートします。

    1. Azure用のSSIS機能パックをインストールする
      デフォルトでは、Azure DataLakeStoreに接続できません。 SSISプロジェクトにAzureの機能パックをインストールする必要があります。
    1. AzureポータルでAzureDataLake Store(ADLS)を作成します
      Azure Data Lake Storeをお持ちでない場合は、新しいストアを作成する必要があります。このADLSにフォルダーを作成し、ここでローカルフォルダーからデータをインポートします。
    1. アプリ登録を作成する
      AzureポータルのAzureActiveDirectory(AAD)オプションには、アプリ登録のオプションがあります。 ADLSへのアクセスにはアプリ登録を使用します。
    1. ADLSへのアクセス許可の割り当て
      データエクスプローラーのADLSで、アプリ登録へのアクセスを許可する必要があります。
    1. SSISを使用したADLSへのファイルのエクスポート
      SSDTでSSISのADLSタスクを使用すると、ローカルファイルからSSISにデータをエクスポートできます。このためには、ADLS URL、アプリ登録のアプリケーションID、およびアプリ登録のキーが必要です。
    1. 結果を確認する
      最後に、AzureポータルでADLS、データエクスプローラーに移動し、ファイルが正常にコピーされたことを確認します。

    要件

    この記事には次のソフトウェアが必要です。

    1. インストール済みのSSIS(SQL Serverインストーラーに含まれています)
    2. インストールされているSQLServerデータツール(SSDT)
    3. Azureアカウント
    4. Azure用のSSIS機能パック

    はじめに

    1。 Azure用のSSIS機能パックをインストールします
    Azureに接続するためのタスクを含むSSIS用の無料の機能パックがあります。 SSISフィーチャーパックをインストールする必要があります。このパッケージには、Azureのビッグデータ(HDInsight)、Azure Blob Storage、Azure Data Lake Store、AzureDataWarehouseなどを操作するためのいくつかのタスクが含まれています。

    インストーラーは29MBです。 32ビットと64ビットのバージョンがあります。

    2。 AzureポータルでAzureデータレイクストア(ADLS)を作成する
    Azureへのサブスクリプションも必要になります。この新しいテクノロジーを学びたい初心者向けの試用版があります。 Azure DataLakeStoreを作成します。データレイクストアは、分析のためにAzureにデータを保存する場所です。Azureポータルにログインしてその他のサービス(>)に移動し、検索テキストボックスにデータレイクストアと入力します。データレイクストアを選択します:

    まだデータレイクストアをお持ちでないことを前提としているため、[+追加]アイコンを押して新しいストアを作成します:

    データレイクストアの名前を指定します。リソースグループは、グループ内の複数のAzureリソースを処理するためのものです。場所はあなたに最も近い場所を指定することです。あなたは消費のために支払うことができます。価格は1GBあたり約0.39米ドルです。 TBが多ければ多いほど、最も安くなります。読み取りおよび書き込み操作ごとに料金もかかります($ 0.05ごとに10,000の書き込み操作、$ 0.004ごとに10,000の読み取り操作)。

    作成したら、データレイクストアをクリックします:

    フォルダを作成してファイルを追加するには、データエクスプローラに移動します:

    新しいフォルダを作成します。 このフォルダにファイルをアップロードします。名前を割り当てて[OK]を押します:

    3。アプリ登録を作成する
    データレイクにアクセスするためのアプリ登録を作成します。アプリの登録では、アプリケーションを登録すると、アプリケーションIDとキーが割り当てられます。これを行うには、[その他のサービス]> [Active Directory]に移動する必要があります:

    アプリの登録:に移動します

    名前を追加します。アプリケーションタイプはWebapp/ API(デフォルトのもの)です。 URLは、好みに応じて任意のURLにすることができます:



    作成したばかりのアプリケーションをクリックします:


    Azure Data Lake Storeに接続するには、アプリケーションIDが必要です:

    アプリの登録で、キーに移動します。新しいキーを作成し、キーの有効期限を割り当てます。値をコピーしてどこかに貼り付けます。この値は、Azure Data LakeStoreに接続するために必要になります:

    データレイクストアに移動し、[概要]セクションのURLをコピーします。この情報は、SSISを使用して接続する場合にも役立ちます:


    4。 ADLSに権限を割り当てます
    アプリの登録に権限を付与します。これらの権限により、ADLSへのアクセスが許可されます。データエクスプローラーに移動します。

    アクセスオプションを押して、アプリ登録を追加します:


    +追加を押します アプリ登録を追加するオプション:

    テキストボックスにAppServiceと入力し、[選択]ボタンを押します。


    読み取り、書き込み、および実行のアクセス許可を割り当てます。フォルダとフォルダおよびすべての子に権限を追加できます。

    アクセス、デフォルトの権限、およびその両方を割り当てることもできます。

    5。 SSISを使用したADLSへのファイルのエクスポート
    SSDTで、SSISプロジェクトを作成します。 Azureの機能パックをインストールした場合は、AzureDataLakeストアのファイルシステムタスクを確認できます。このタスクをデザインペインにドラッグアンドドロップします:

    Azure DataLakeStoreファイルシステムタスクをダブルクリックします。 2つの可能な操作があります。 Azure Data Lake(ADL)からコピーするか、ADLにコピーします。この例では、ローカルファイルからADLにコピーします。ソースでは、c:\ sqlフォルダーを使用し、ADLにコピーするローカルファイルがいくつかあります。 AzureDataLakeDirectoryでは、共有フォルダーを使用します。このフォルダーは、前の手順でADLストアに作成されました。 AzureDataLakeConnectionについては後で説明します。ファイルの有効期限が切れます(このオプションは、ファイルの有効期限を指定するために使用されます):

    AzureDataLakeConnectionで、[新しい接続]オプションを選択して、新しい接続を作成します。

    接続には、ADLSホストが必要です。これは、ポータルでADLSの[概要]セクションに移動するときのURLです。認証では、AzureADサービスIDを使用します。このオプションは、Azureで作成されたアプリ登録を使用します。

    クライアントIDは、アプリ登録のアプリケーションIDです。この情報は、AzureADの[アプリの登録]セクションにあります。

    秘密鍵は、ポータルのキーセクションにあるAzureADのアプリ登録にあります。キーを作成して、このセクションの値を使用できます。

    テナント名は、Azure ADドメインの名前です(Azureドメインについて説明します)。

    テスト接続を押して、すべてが正常であることを確認します。問題がなければ、[OK]を押します:

    ドメイン(テナント名)がわからない場合は、ポータルの右上のセクションをクリックして確認できます。


    SSISパッケージを実行して、データをADLSにエクスポートできます。この例では、ローカルフォルダに3つのファイルがあります。

    6。結果を確認します
    すべて問題がない場合は、AzureポータルでADLSに移動し、データエクスプローラーに移動します。共有フォルダに移動し、そこにあるファイルを確認します。コピーされた5つのファイルを確認できます。


    DataLakeからオンプレミスのSQLServerにデータをエクスポートする

    第2部では、AzureDataLakeに保存されているデータをオンプレミスのSQLServerにエクスポートします。データフロータスクをドラッグアンドドロップします:

    データフロータスクをダブルクリックし、AzureDataLakeストアのソースとSQLServerの宛先をドラッグアンドドロップします。両方のタスクを接続します。 Azure Data Lake Storeをダブルクリックしますソース:

    記事の最初の部分で作成されたADLS接続を選択します。パスで、ADLSパス(フォルダー/ファイル名)を指定します。このシナリオでは、ファイル形式はテキストで、区切り文字はコンマです:

    列には、列が表示されます。列がない場合。デフォルトの列ヘッダーが作成されます:

    SQLServerの宛先をダブルクリックします。 [新規]を押して接続マネージャーを作成します:

    新しい接続を作成します。 SQL Server名、認証、およびデータを保存するデータベースを指定します。

    テーブルまたはビューで、[新規]を押して新しいテーブルを作成します。



    デフォルトでは、次のT-SQLコードがあります。

    コードを変更してテーブル名を指定し、列名を付けます:

    CREATE TABLE [smartphones] (
    
        [ID] int,
    
        Brand nvarchar(100),
    
        Version nvarchar(100)
    
    )

    [マッピング]ページに移動し、Prop_0をIDに、Prop_1をブランドに、Prop_2をバージョンに割り当てます:

    SQLServerの宛先でエラーが発生します。変換の問題のため、列を挿入できません。これは、Prop_0が文字列であり、SQLServerテーブルが整数であるためです。

    データ変換タスクをドラッグアンドドロップして、Azure Data LakeStoreのソースとSQLServerの宛先を接続します:

    データ変換をダブルクリックし、Prop_0を選択して、データ型を4バイトの符号付き整数[DT_I4]に変換し、エイリアスを割り当てます。データ変換により、異なるデータ型の別の列が作成されます:

    SQL Destination Editorに戻り、Prop_0intをIDに一致させます:

    SSISパッケージを実行します。 SSMSで、dbo.smartphonesテーブルが作成されていることを確認し、データがインポートされたかどうかを確認します。

    ご不明な点や問題がございましたら、お気軽にコメントをお寄せください。

    結論

    Azure Data Lakeは、ビッグデータを処理するための高性能な特別なストレージです。ローカルサーバーからAzureにデータを移行するには、SSISを使用できます。そのためには、Azure用の新しいFeaturePackが必要です。このパックは、ADLSに接続するための新しいタスクをインストールします。

    SSISを使用してADLSに接続するために、アクセス許可を持つAADアプリ登録を作成しました。

    SSISを使用すると、ファイルをADLSに簡単にアップロードできます。 ADLSURLとアプリ登録キーおよびアプリケーションIDを指定するだけで済みます。

    また、ADLSからオンプレミスのSQLServerのテーブルにデータを抽出する方法も示します。

    参考資料

    SSIS、データレイクストア、アプリ登録の詳細については、次のリンクを使用してください。

    • AzureDataLakeの紹介
    • Azure DataLakeStore接続マネージャー
    • Azure Feature Pack for Integration Services(SSIS)
    • アプリケーションとAzureActiveDirectoryの統合
    • Azure DataLakeStoreファイルシステムタスク
    • AzureActiveDirectoryテナントにアプリケーションを登録します

    1. SQLリファレンステーブル:基本的なクエリを作成および作成する方法

    2. PHPでの郵便番号間の距離の計算

    3. MariaDBでのWEIGHT_STRING()のしくみ

    4. Postgresのキャッシュ/バッファを表示してクリアしますか?