2016-08-30 4 views
0

MySQL 서버에서 내 보낸 테이블의 약 200 행을 가져오고있었습니다. 파티션 키와 행 키가 필요하다는 것을 알지 못했기 때문에 CSV를 통해 2 개의 새로운 열을 만들고 테이블 이름을 채워 넣었습니다. CSV를 가져 왔습니다. 그것은 나에게 첫 번째 엔트리를 보여줬고 괜찮아 보여서 미드웨이보다 수입했다. N/A가 받아 들일 수 없다는 오류가있어 종료했다. 가져온 데이터를 보면 완전히 꺼져 있습니다.Azure 테이블 스토리지로 CSV 가져 오기 문제

내가 뭘 잘못 했니?

약 200 개의 테이블을 추가로 가져와야합니다.

샘플 데이터 : 실제 데이터가 아닌, 그것은

이 푸른 표 저장소 탐색기

열을 사용하여 수입 (관계형되지 않음) 내 사용자 테이블의 같은 이름 | 사용자 이름 | 이메일 | 해시 | 소금 | ParitionKey | RowKey 행 1 : Janet | 관리자 | [email protected] | 203weg0897wg | 33 & 23j | 사이트 | site

그것은 그것이 어떻게 갔는지 꽤 있습니다. 하지만 첫 번째 행을 가져올 때 칼럼이 엉망인 것보다 낫고 사용자 이름이 파티션 키에 들어가서 그런 식으로됩니다. 오른쪽 열로 가져올 수 없습니다.

예 파티션 키와 행 키로 테이블 이름을 넣었습니다. 나는 각 실체가 그것을 필요로한다는 것을 깨닫지 못했다. 하지만 어떤 엔티티가 어떤 테이블에 있는지 알고 있어야합니다. 별도의 파티션에 넣어야합니까? 나는 그들을 한 테이블에 모두 필요로한다. 해결책은 무엇입니까?

+0

다음 정보를 사용하여 질문을 업데이트 할 수 있습니까? 1) 가져 오는 샘플 데이터 (첫 번째 행은 괜찮을 것입니다), 2) '가져온 데이터를 보면 완전히 벗어났습니다.'라는 의미를 설명해주십시오. '3) 데이터를 어떻게 가져오고 있습니까? 가져올 도구를 사용하고 있습니까? –

+0

당신은 "CSV를 통해 2 개의 새로운 열을 만들고 그것을 테이블 이름으로 채우는 것"이라고 말했습니까? 파티션 키와 행 키 모두에 대해 테이블 ​​이름을 사용 했습니까? 이 두 열은 테이블의 기본 키를 구성하기 때문에 두 테이블의 조합은 테이블의 각 엔터티마다 고유해야합니다. –

답변

1

하지만 첫 번째 행을 가져올 때 열이 잘못되어 사용자 이름이 파티션 키에 들어가는 것과 같은 문제가 발생하지 않습니다. 오른쪽 열로 가져올 수 없습니다. 당신이 푸른 저장소 탐색기를 사용하여 푸른 표 스토리지에 .CSV를 가져 오는 경우

, 다음 .CSV 파일의 데이터 구조는 다음과 같아야합니다

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

참고 :에 PartitionKey 배치해야 첫 번째 열에서 RowKey를 뒤에 배치해야합니다.

약 200 개 이상의 표를 가져와야합니다. 하지만 어떤 엔티티가 어떤 테이블에 있는지 알고 있어야합니다. 별도의 파티션에 넣어야합니까? 나는 그들을 한 테이블에 모두 필요로한다.

요구 사항에 따라 파티션 키를 테이블 이름으로 설정하고 행 키를 연결된 테이블의 엔터티 ID로 설정할 수 있습니다. Tamra가 말한 것처럼 파티션 키와 행 키는 푸른 색 테이블의 각 엔티티에 대해 고유해야합니다.

azure 테이블에 약 200 개 이상의 테이블을 가져 오려면 MYSQL 테이블에서 데이터를 내보내고 .CSV 파일의 데이터 구조를 수정 한 다음 .CSV를 하나씩 azure 테이블로 가져올 수 있습니다. Azure 저장소 테이블 디자인을 더 잘 이해하려면 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 포럼보다 훨씬 유용했습니다. –