2016-08-30 25 views
0

MySQLサーバからエクスポートされたテーブルの約200行をインポートしていました。私はパーティションキーと行キーが必要であることを知りませんでしたので、2つの新しい列を作成し、それらをテーブル名で埋めてCSVを設定しました。私はCSVをインポートしました。それは私に最初のエントリを示したので、途中よりもインポートしたので、N/Aが受け入れられず、終了するというエラーが表示されました。インポートされたデータを見ると、完全にオフになっています。CSVをAzureテーブルストレージにインポートする問題

どうしたのですか?

さらに約200個のテーブルをインポートする必要があります。

サンプルデータ:実際のデータではなく、それは

はAzureテーブルストレージエクスプローラー

列を使用してインポート(リレーショナルではない)私のユーザーテーブルのよう:名前|ユーザー名|電子メール|ハッシュ|ソルト| ParitionKey | RowKey 行1:Janet |管理者| [email protected] | 203weg0897wg | 33 & 23j |サイト|サイト

これはかなり進んでいます。しかし、私が最初の行をインポートすると、カラムが壊れてしまい、ユーザー名がパーティションキーになってそのようなものよりもうまくいきます。右の列にインポートされません。

はいパーティションキーと行キーとしてテーブル名を入れました。私は、各エンティティがそれを必要としていることが分かっていませんでした。しかし、どのエンティティがどのテーブルから来たのかを知る必要があります。私はそれらを別々のパーティションに入れるべきですか?私はそれらを1つのテーブルにすべて必要とします。解決策は何でしょうか?

+0

質問を以下の情報で更新できますか?1)インポートするサンプルデータ(最初の数行は問題ありません)、2)「インポートされたデータを見る」という意味を説明してください。 '3)あなたはどのようにデータをインポートしていますか?インポートするために何らかのツールを使用していますか? –

+0

あなたは、「2つの新しい列を作成し、テーブル名を埋めてCSVを設定する」と言っています。パーティションキーと行キーの両方にテーブル名を使用しましたか?これらの2つの列は表の主キーを構成するため、表の各エンティティごとにその組み合わせが一意である必要があります。 –

答えて

1

しかし、私が最初の行をインポートすると、カラムが壊れてしまい、ユーザー名がパーティションキーになってしまい、そのようなことが起こります。右の列にインポートされません。

あなたはAzureストレージエクスプローラーを使用してAzureテーブルストレージに.CSVをインポートする場合は、次のように.csvファイルのデータ構造は次のようになります。

| PartitionKey | RowKey | Name | UserName | Email   | Hash   | Salt | 
| ------------ | ------ | ----- | -------- | --------------- | ------------- | ------ | 
| site   | site | Janet | admin | [email protected] | 203weg0897wg | 33&23j | 

注:のPartitionKeyを配置する必要があります最初の列にRowKeyを配置する必要があります。

約200個のテーブルをインポートする必要があります。しかし、どのエンティティがどのテーブルから来たのかを知る必要があります。私はそれらを別々のパーティションに入れるべきですか?私はそれらを1つのテーブルにすべて必要とします。

要件に応じて、パーティションキーをテーブル名として設定し、関連するテーブルのエンティティの識別として行キーを設定できます。 Tamra氏によると、パーティションキーと行キーは、紺碧のテーブルの各エンティティごとに一意である必要があります。

azureテーブルに約200個のテーブルをインポートするには、MYSQLテーブルからデータをエクスポートし、.CSVファイルのデータ構造を変更し、.CSVをazureテーブルに1つずつインポートします。 Azure Storage Tableのデザインを理解するには、tutorialを参照してください。

また、開発言語にPowerShell scriptまたはAzure Storage Client Libraryを使用して、CSVファイルをAzureテーブルストレージにインポートすることもできます。

+0

これをお寄せいただきありがとうございます。各エンティティ(推測しているレコード)には、各テーブルの同じパーティションキーがありますか?したがって、1つのテーブルパーティションキーのすべてのユーザーがテーブル名になります。また、行キーの提案はありますか? –

+0

PartitionKeyには、パーティションを識別する値が格納されます。パーティションは、テーブルのスケーラビリティに不可欠です。同じPartitionKey値を持つエンティティは、同じパーティションに格納されます。 Azureテーブルを最大限に活用するには、エクスポートした同じテーブルのエンティティを同じパーティションに配置することをお勧めします。詳細については、この[チュートリアル](https://msdn.microsoft.com/en-us/library/hh508997.aspx)を参照してください。 エクスポートされたエンティティに固有のIDがない場合は、GUID文字列などを生成して自分で作成することができます。 –

+0

それはまあ私が思ったものです。しかしAzure Storage Explorerは私にRowkeyカラムを置くように求めています。もしそれを置くと、値を入れなければなりませんか?またはAzureは私にランダムな値を自動的に割り当てますか?おかげさまで、MSDNフォーラムよりもずっと便利でした –

関連する問題