기본 콘텐츠로 건너뛰기 보완적인 콘텐츠로 건너뛰기

QVD 파일

QVD (QlikView Data) 파일은 Qlik Sense 또는 QlikView에서 내보낸 데이터의 테이블을 포함한 파일입니다. QVD는 네이티브 Qlik 형식이며 Qlik Sense 또는 QlikView에서만 읽고 쓸 수 있습니다. 파일 형식은 Qlik Sense 스크립트에서 데이터를 읽는 속도에 최적화되어 있지만 크기는 매우 작습니다. 파일 형식은 스크립트에서 데이터를 읽는 속도에 최적화되어 있지만 크기는 매우 작습니다. QVD 파일에서 데이터를 읽는 속도는 일반적으로 다른 데이터 소스에서 데이터를 읽는 것보다 10-100배 정도 빠릅니다.

QVD 파일은 표준(빠름) 모드와 최적화(매우 빠름) 모드에서 읽을 수 있습니다. 모드 선택은 Qlik Sense 스크립트 엔진에서 자동으로 결정합니다. 최적화 모드는 모든 로드 파일을 아무런 변형(필드에 적용되는 수식) 없이 읽을 때에만 사용할 수 있지만 필드 이름 변경은 허용됩니다. Qlik Sense에서 레코드를 압축 해제하게 만드는 Where 절은 최적화된 로드 또한 비활성화합니다.

QVD 파일은 정확하게 하나의 데이터 테이블을 포함하며 다음 세 가지 부분으로 구성됩니다.

  • 테이블의 필드, 후속 정보 레이아웃 및 기타 메타데이터를 설명하는 XML 헤더(UTF-8 문자 집합)
  • 바이트 형식의 기호 테이블
  • 비트 형식의 실제 테이블 데이터

QVD 파일은 다양한 용도로 사용될 수 있습니다. 네 가지 중요 용도는 쉽게 확인할 수 있습니다. 어느 경우에도 다음 중 둘 이상의 용도를 적용할 수 있습니다.

  • 데이터베이스 서버의 부하 감소
  • 외부 데이터 소스에서 가져오는 데이터의 양이 상당히 감소할 수 있습니다. 이로 인해 외부 데이터베이스의 워크로드와 네트워크 트래픽이 감소하게 됩니다. 게다가 여러 Qlik Sense 스크립트에서 동일한 데이터를 공유할 때 해당 데이터를 소스 데이터베이스에서 QVD 파일로 한 번만 로드하면 됩니다. 다른 응용 프로그램에서도 이 QVD 파일을 통해 동일한 데이터를 사용할 수 있습니다.

  • 여러 Qlik Sense 응용 프로그램의 데이터 통합.
  • Binary 스크립트 문을 사용하면 한 Qlik Sense 응용 프로그램의 데이터만 다른 프로그램으로 로드할 수 있습니다. 하지만 QVD 파일을 사용하면 Qlik Sense 스크립트가 여러 Qlik Sense 응용 프로그램의 데이터를 조합할 수 있습니다. 이 기능으로 인해 응용 프로그램에서 여러 비즈니스 단위 등의 유사한 데이터를 통합할 수 있게 되었습니다.

  • 증분 로드
  • 많은 경우, QVD 기능을 사용하면 크기가 커지고 있는 데이터베이스에서 새로운 레코드를 배타적으로 로드하여 증분 로드를 수월하게 수행할 수 있습니다.

정보 메모

Qlik Community가 Qlik 응용 프로그램 자동화를 사용하여 QVD 로드 시간을 개선하는 방법을 알아보려면 다시 로드를 개선하기 위해 자동화를 사용하여 QVD를 분할하는 방법을 참조하십시오.

QVD 파일 만들기

스크립트에서 저장 명령을 사용하여 QVD 파일을 만들고 이름을 지정할 수 있습니다. 이전에 읽은 테이블 또는 그 일부를 선택한 위치의 명시적으로 명명한 파일로 내보내도록 스크립트에 명시합니다.

Store

이 스크립트 문은 명시적으로 명명된 QVD, Parquet, CSV 또는 TXT 파일을 만듭니다.

구문:  

Store[ *fieldlist from] table into filename [ format-spec ];

또한 이 문은 하나의 데이터 테이블에서만 필드를 내보낼 수 있습니다. 여러 테이블의 필드를 내보내는 경우 내보낼 데이터 테이블을 만들려면 스크립트에서 미리 명시적 조인을 수행해야 합니다.

텍스트 값은 UTF-8 형식의 CSV 파일로 내보냅니다. 구분 기호를 지정할 수 있습니다. 자세한 내용은 LOAD를 참조하십시오. CSV 파일에 대한 store 문은 BIFF 내보내기를 지원하지 않습니다.

Store mytable into [lib://DataFiles/xyz.qvd]; Store * from mytable into [lib://DataFiles/xyz.qvd]; Store myfield from mytable into [lib://DataFiles/xyz.qvd]; Store myfield as renamedfield, myfield2 as renamedfield2 from mytable into [lib://DataFiles/xyz.qvd]; Store mytable into [lib://DataFiles/myfile1.txt]; Store mytable into [lib://DataFiles/myfile2.csv];

  1. Advanced Scripting Tutorial 앱을 엽니다.
  2. Product 스크립트 섹션을 클릭합니다.
  3. 스크립트의 끝 부분에 다음을 추가합니다.
  4. Store * from Product into [lib://DataFiles/ProductData.qvd](qvd);

    스크립트는 다음과 같이 표시되어야 합니다.

    CrossTable(Month, Sales)
    LOAD
        Product,
        "Jan 2014",
        "Feb 2014",
        "Mar 2014",
        "Apr 2014",
        "May 2014"
    FROM [lib://DataFiles/Product.xlsx] 
    (ooxml, embedded labels, table is Product);
    
    Store * from Product into [lib://DataFiles/ProductData.qvd](qvd);

  5. 데이터 로드를 클릭합니다.
  6. 이제 Product.qvd 파일이 파일 목록에 표시됩니다.

    이 데이터 파일은 Crosstable 스크립트의 결과이며 각 범주(Product, Month, Sales)에 대해 하나의 열을 갖는 3열 테이블입니다. 이제 이 데이터 파일을 전체 Product 스크립트 섹션을 바꾸는 데 사용할 수 있습니다.

QVD 파일에서 데이터 읽기

다음과 같은 방법을 통해 Qlik Sense에서 QVD 파일을 읽거나 액세스할 수 있습니다.

  • 명시적 데이터 소스로 QVD 파일 로드. QVD 파일은 다른 형식의 텍스트 파일(csv, fix, dif, biff 등)과 마찬가지로 Qlik Sense 스크립트에서 load 문을 통해 참조할 수 있습니다.
  • LOAD * from [lib://DataFiles/xyz.qvd] (qvd); LOAD fieldname1, fieldname2 from [lib://DataFiles/xyz.qvd] (qvd); LOAD fieldname1 as newfieldname1, fieldname2 as newfieldname2 from [lib://DataFiles/xyz.qvd](qvd);
  • 스크립트에서 QVD 파일 액세스. 여러 스크립트 함수(모두 QVD로 시작)를 QVD 파일의 XML 헤더에 있는 데이터에서 다양한 정보를 검색하는 데 사용할 수 있습니다.

  1. Product 스크립트 섹션의 전체 스크립트를 주석 처리합니다.
  2. 다음 스크립트를 입력합니다.
  3. Load * from [lib://DataFiles/ProductData.qvd](qvd);			

  4. 데이터 로드를 클릭합니다.
  5. QVD 파일에서 데이터가 로드됩니다.

    데이터 로드 진행률 창

    데이터 로드 진행률 창입니다.
정보 메모증분 로드에 QVD 파일 사용에 대한 자세한 내용은 Qlik Community의 다음 블로그 게시물을 참조하십시오. Overview of Qlik Incremental Loading(Qlik 증분 로드 개요)

 

감사합니다.

이제 이 자습서가 끝났습니다. Qlik Sense에서 스크립트를 작성하는 데 필요한 많은 지식을 얻으셨기 바랍니다. 추가적으로 제공되는 다양한 교육에 대한 자세한 정보를 얻으려면 Qlik 웹 사이트를 방문하십시오.

이 페이지가 도움이 되었습니까?

이 페이지 또는 해당 콘텐츠에서 오타, 누락된 단계 또는 기술적 오류와 같은 문제를 발견하면 개선 방법을 알려 주십시오!