2017-10-16 20 views
0

jsonファイルをAzure Data LakeからAzure Searchに移動しようとしています。 しかし、データレイクストア(JSONファイル)からAzureデータファクトリを使用してAzure Searchにデータを移動

コピーアクティビティがソース側のユーザー・エラー発生した、次のエラーが表示されます。CSVをのErrorCode = UserErrorSourceDataContainsMoreColumnsThanDefined、「処理するときに見られるタイプ= Microsoft.DataTransfer.Common.Shared.HybridDeliveryException、メッセージ=エラー」/Tsv Formatテキスト 'source' file.json '、行番号1:期待される列数より多くの列が見つかりました:52、Source = Microsoft.DataTransfer.Common、'。

jsonファイルからAzure Searchにデータを移動するにはどうすればよいですか?

アップデート1: IはソースにJSON形式を使用しているが、先のAzure検索でCreatedDateに列は、のDateTimeOffset型列(文字列 - >のDateTimeOffset)です。 だから、以下のエラーを得た、

コピーアクティビティがソース側のユーザー・エラーが発生しました:のErrorCode = UserErrorInvalidDataValueを、「タイプ= Microsoft.DataTransfer.Common.Shared.HybridDeliveryException、メッセージ=列 『CreatedDateには、』無効な値が含まれています'1/5/2017 2:03:55 PM' 'yyyy-MM-dd HH:mm:ss.fffffff'という形式の 'DateTime'を入力するには '1/5/2017 2:03:55 PM'を変換できません。Source = Microsoft.DataTransfer.Common、 '' Type = System.FormatException、メッセージ=文字列が有効なDateTimeとして認識されませんでした。、ソース= mscorlib、 '。

私はSoure側でDatetime Formatを変更しようとしましたが、jsonファイルのために何もできませんでした。 jsonからデータを取得しようとすると、すべてのデータが文字列型になります。

アップデート2:のErrorCode = UserErrorAzuerSearchOperation、 '種類= Microsoft.DataTransfer:私は日時エラーは、次のエラーが

コピーアクティビティがシンク側でユーザーのエラーが発生しました来ていることを終え

.Common.Shared.HybridDeliveryException、メッセージ= Azureにデータを書き込むときにエラーが発生しました。検索インデックス 'searchindex'.CloudException RequestId:' 153be0ce-0bda-4722-8c9e-951b5325eaa8 '。ステータスコード:' BadRequest '。、Source = Microsoft.DataTransfer .ClientLibrary.AzureSearch、 '' Type = Microsoft.Rest.Azure.CloudException、Message = Theリクエストは無効です。詳細:アクション:0:ドキュメントキーがないか空ではありません。

私はこの問題を解決するための解決策を提案してください。

+0

あなたはすでにこの正確な質問をしています。 2回は投稿しないでください。 –

+0

前のものを削除しました – Arron

答えて

1

入力ADLSデータセットで "JsonFormat"ではなく "TextFormat"としてソース形式を指定したようです。対応するサポートされている設定の詳細とサンプルについては、JSON formatを参照してください。

ADF v1を使用している場合は、copy wizardで作者にお試しください。これはUIの設定をガイドします。

+0

** JSON形式**を使用しました。これもDateTime列のエラーを示しています。 ソース側でユーザーエラーが発生しました:ErrorCode = UserErrorInvalidDataValue、 'Type = Microsoft.DataTransfer.Common.Shared.HybridDeliveryException、Message = Column' createddate 'に無効な値が含まれています' 1/5/2017 2:03:55 PM '。 'yyyy-MM-dd HH:mm:ss.fffffff'という形式の 'DateTime'を入力するには '1/5/2017 2:03:55 PM'を変換できません。Source = Microsoft.DataTransfer.Common、 '' Type = System.FormatException、メッセージ=文字列が有効なDateTimeとして認識されませんでした。、ソース= mscorlib、 '。 – Arron

0

createddate.ToString( "yyyy-MM-dd HH:mm:ss.fffffff")の代わりにcreateddate.Value.ToString( "yyyy-MM-dd HH:mm:ss.fffffff")を使用しました。 createddateがNULL可能な列(Nullable)であるため、正常に動作します。

createddate。ValueToString( "yyyy-MM-dd HH:mm:ss.fffffff")

0

エラー「ドキュメントキーが見つからないか空でない」とは、行内のAzure検索インデックスキーが空であることを意味しますAzure Searchに挿入します。 Key列がソース側で提供されていて、常にnullでないかどうかを再確認できますか?

関連する問題