JSON 파일을 SQL Server 데이터베이스로 가져오는 방법

8282 단어 jsondatabasesqletl
JSON 형식은 사람과 기계 모두에게 매우 친숙합니다. 즉, 사람들이 읽을 수 있을 뿐만 아니라 모든 프로그래밍 언어로 빠르게 구문 분석할 수 있도록 매우 잘 구성되어 있습니다.

그러나 모든 중요한 정보는 관계형 SQL 데이터베이스에 저장하는 것이 좋습니다. 관계형 데이터베이스에서 모든 정보는 행과 열로 구성된 테이블에 저장됩니다. 따라서 JSON 파일을 행과 열로 분해해야 합니다.

비디오 튜토리얼 지원



WORKSHEETS Data Studio를 사용하면 매우 쉽습니다. JSON editor으로 이동하여 JSON 파일을 열거나 유효한 JSON 데이터를 편집기에 붙여넣기만 하면 됩니다.



오른쪽 패널에서 JSON이 테이블 구조가 있는 데이터 그리드로 렌더링되었음을 즉시 확인할 수 있습니다. 배열의 각 요소는 행이고 각 속성은 열입니다. 중첩된 개체는 유효한 JSON 형식으로 유지됩니다.

참고하십시오. 유효한 SQL 연결이 있어야 합니다.

이제 이것을 데이터베이스에 저장할 준비가 되었습니다. Save To Database 메뉴 항목을 누릅니다. 선택하다:
  • SQL 연결, 스키마, 테이블 이름.
  • 필드 매핑이 올바른지 확인하십시오
  • .
  • 기본 키 선택



  • 저장할 준비가 되었습니다.

    3가지 방법으로 저장할 수 있습니다.
  • 업서트/병합 - 기본 키를 기준으로 테이블에 행을 삽입하거나 업데이트합니다. 이것이 기본 방식이며 대부분의 경우 잘 작동합니다.
  • 추가 - 데이터만 추가합니다. 조금 더 최적화된 성능
  • 대량 삽입 - 최고의 성능을 제공합니다. 그러나 데이터 무결성을 보장해야 합니다.
    좀 더 고급 시나리오에서는

  • JSPython을 사용하여 JSON 데이터를 SQL 데이터베이스에 저장



    더 많은 유연성과 제어가 필요한 경우 JSPython을 사용하여 데이터를 가져올 수 있습니다. SQL Data Api library을 사용하여 저장할 수 있습니다. 또한 JSON을 Worksheets Data Studio 프로젝트에 저장한 다음 추가 처리를 위해 jspy 파일로 가져올 수 있습니다.



    JSON 파일 열기 및 처리


    openFileAsArray 기능을 사용할 수 있습니다.

        openFileAsArray()
    


    JSON 데이터 변환



    프로젝트에 JSON 데이터를 저장한 다음 JSPython으로 가져올 수 있습니다.

    # transform object if needed
    fileData = openFileAsArray()
    
    return fileData.data.map(r =>
        r.fileName = fileData.fileName
        r.date = dateTime(r.date)
        r.avg = (r.high + r.low)/2
        return r
      )
    


    SQL에 데이터 저장




    # Welcome to JSPython (https://jspython.dev)
    
    from sql-data-api import sqlDataApi
    
    fileData = openFileAsArray()
    
    items = fileData.data
      .map(r =>
        r.fileName = fileData.fileName
        r.date = dateTime(r.date)
        r.avg = (r.high + r.low)/2
        return r
      )
    
    sqlDataApi('public-data-connect').save('publicData.table2Ex', items)
    
    


    대용량 JSON 파일 가져오기



    브라우저의 메모리 부족 및 충돌이 발생할 수 있으므로 큰 JSON 파일을 저장/로드하지 않는 것이 좋습니다. 이전 기사에서는 대용량 JSON 파일로 작업하는 방법을 설명했습니다. 이 기사에서는 큰 JSON 파일을 더 작은 청크로 가져오는 방법을 보여줍니다.

    다음은 JSPython입니다.

    from sql-data-api import sqlDataApi
    
    async def saveItemsToDatabase(items, fileName):
        #add fileName for each element
        items = items.map(r => Object.assign({fileName}, r))
    
        # save it to the database
        res = sqlDataApi('connectionName').save('schema.tableName',items)
        print(res)
    
    
        return openFileAsArray({
            chunkProcessor: saveItemsToDatabase
        }).data
    
    


    이전 예제에서와 같이 openFileAsArray 함수를 사용합니다. chunkProcessor를 사용하여 항목을 데이터베이스에 저장하는 sql-data-api 함수를 정의합니다. 한편, 이 예에서와 같이 요소를 변환하고 fileName 필드를 추가합니다.

    이 코드를 실행하기 전에 SQL 연결이 정의되어 있고 적합한 구조의 테이블이 있어야 합니다. 대용량 파일을 실행 중인 경우 항상 처음 1000개(또는 10000개) 행을 열고 Save To Database 기능을 사용하여 모든 필드가 포함된 새 테이블을 만들 수 있습니다. varchar 길이와 데이터 유형이 파일의 모든 행을 수용할 수 있는지 확인하십시오.

    워크시트 데이터 스튜디오



    워크시트 Data Studio는 다양한 종류의 파일로 쉽게 작업할 수 있도록 하는 로우 코드 데이터 관리 스튜디오이며 JSON 데이터를 데이터베이스에 로드하는 간단한 프로세스가 있습니다.

    좋은 웹페이지 즐겨찾기