이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

datastore

대규모의 데이터 모음을 저장할 데이터저장소 만들기

구문

ds = datastore(location)
ds = datastore(location,Name,Value)

설명

ds = datastore(location)location으로 지정된 데이터 모음에서 데이터저장소를 만듭니다. 데이터저장소는 너무 커서 메모리에 맞지 않는 데이터 모음의 리포지토리입니다. ds를 만든 후에는 데이터를 읽고 처리할 수 있습니다.

예제

ds = datastore(location,Name,Value)는 하나 이상의 이름-값 쌍의 인수를 사용하여 ds에 대한 추가 파라미터를 지정합니다. 예를 들면, 'Type','image'를 지정하여 이미지 파일을 저장할 데이터저장소를 만들 수 있습니다.

예제

모두 축소

샘플 파일 airlinesmall.csv에 대한 데이터저장소를 만듭니다. 이 파일에는 1987년부터 2008년까지의 항공사 데이터가 들어 있습니다.

숫자 열에서 누락된 데이터를 가져오는 작업을 관리하려면 'TreatAsMissing' 이름-값 쌍 인수를 사용하십시오. 이 예제에서는 'TreatAsMissing'을 값 'NA'로 지정하여, 가져온 데이터에서 모든 'NA'NaN으로 바꿉니다. 여기서 NaN은 데이터저장소의 'MissingValue' 속성에 지정된 값입니다.

ds = datastore('airlinesmall.csv', ...
                   'TreatAsMissing','NA')
ds = 
  TabularTextDatastore with properties:

                      Files: {
                             ' .../devel/bat/Bdoc18a/build/matlab/toolbox/matlab/demos/airlinesmall.csv'
                             }
               FileEncoding: 'UTF-8'
   AlternateFileSystemRoots: {}
          ReadVariableNames: true
              VariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more}

  Text Format Properties:
             NumHeaderLines: 0
                  Delimiter: ','
               RowDelimiter: '\r\n'
             TreatAsMissing: 'NA'
               MissingValue: NaN

  Advanced Text Format Properties:
            TextscanFormats: {'%f', '%f', '%f' ... and 26 more}
                   TextType: 'char'
         ExponentCharacters: 'eEdD'
               CommentStyle: ''
                 Whitespace: ' \b\t'
    MultipleDelimitersAsOne: false

  Properties that control the table returned by preview, read, readall:
      SelectedVariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more}
            SelectedFormats: {'%f', '%f', '%f' ... and 26 more}
                   ReadSize: 20000 rows

datastoreTabularTextDatastore를 만듭니다.

MATLAB® 경로와 그 하위 폴더에 있는 모든 .tif 파일을 포함하는 데이터저장소를 만듭니다.

ds = datastore(fullfile(matlabroot, 'toolbox', 'matlab'),...
'IncludeSubfolders', true,'FileExtensions', '.tif','Type', 'image')
ds = 

  ImageDatastore with properties:

       Files: {
              ' ...\matlab\toolbox\matlab\demos\example.tif';
              ' ...\matlab\toolbox\matlab\imagesci\corn.tif'
              }
    ReadSize: 1
      Labels: {}
     ReadFcn: @readDatastoreImage

입력 인수

모두 축소

데이터저장소에 포함할 파일 또는 폴더로, 문자형 벡터, 문자형 벡터로 구성된 셀형 배열, string형 스칼라 또는 string형 배열로 지정됩니다. 파일이 현재 폴더에 없는 경우 location은 전체 경로나 상대 경로여야 합니다. 지정된 폴더의 하위 폴더 내에 있는 파일은 데이터저장소에 자동으로 포함되지 않습니다.

location을 지정할 때에는 와일드카드 문자(*)를 사용할 수 있습니다. 이 문자는 일치하는 모든 파일 또는 일치하는 폴더에 있는 모든 파일이 데이터저장소에 포함됨을 나타냅니다.

파일을 로컬에서 사용할 수 없는 경우 파일이나 폴더의 전체 경로는
hdfs:///path_to_file과 같은 IRI(Internationalized Resource Identifier)여야 합니다.

Amazon S3™, Windows Azure® Blob 저장소, HDFS™에서 datastore를 사용하는 데 대한 자세한 내용은 원격 데이터 읽어오기 항목을 참조하십시오.

KeyValueDatastore의 경우, 이 파일은 mapreduce 함수에 의해 생성된 MAT 파일 또는 시퀀스 파일이어야 합니다. MAT 파일은 로컬 파일 시스템이나 네트워크 파일 시스템에 있어야 합니다. 시퀀스 파일은 로컬 파일 시스템, 네트워크 파일 시스템, HDFS 파일 시스템 중 하나에 있을 수 있습니다. DatabaseDatastore의 위치 인수는 파일일 필요가 없습니다. 자세한 내용은 DatabaseDatastore를 참조하십시오.

예: 'file1.csv'

예: '../dir/data/file1.jpg'

예: {'C:\dir\data\file1.xls','C:\dir\data\file2.xlsx'}

예: 'C:\dir\data\*.mat'

예: 'hdfs:///data/file1.txt'

데이터형: char | cell | string

이름-값 쌍의 인수

예: 'FileExtensions',{'.jpg','.tif'}ImageDatastore 객체에 대한 .jpg 또는 .tif 확장자를 갖는 모든 확장자를 포함합니다.

데이터저장소 유형으로, 'Type'과 함께 다음 중 하나가 쉼표로 구분되어 지정됩니다.

'Type'의 값설명
'tabulartext'테이블 형식 데이터를 포함하는 텍스트 파일입니다. 데이터의 인코딩은 ASCII 또는 UTF-8이어야 합니다.
'image'JPEG나 PNG와 같은 형식의 이미지 파일입니다. 허용되는 파일에는 imformats 형식이 포함됩니다.
'spreadsheet'하나 이상의 시트를 포함하는 스프레드시트 파일입니다.
'keyvalue'mapreduce에서 생성된 데이터와 함께 MAT 파일이나 시퀀스 파일에 포함된 키-값 쌍 데이터입니다.
'file'사용자 지정 형식 파일로, 데이터를 읽기 위해서는 읽기 함수가 지정되어야 합니다. 자세한 내용은 FileDatastore를 참조하십시오.
'tall'tall 데이터형의 write 함수에 의해 생성된 MAT 파일 또는 시퀀스 파일입니다. 자세한 내용은 TallDatastore를 참조하십시오.
'database'데이터베이스에 저장된 데이터입니다. Database Toolbox™가 필요합니다. type 파라미터를 사용할 경우 추가 입력 인수의 사양이 필요합니다. 자세한 내용은 DatabaseDatastore를 참조하십시오.
  • 파일 여러 개의 형식을 지원하기 위하여 데이터저장소 유형을 여러 개 지정해야 할 경우에는 'Type' 인수를 사용하여 데이터저장소 유형을 지정해야 합니다.

  • 'Type'의 값을 지정하지 않으면 datastore가 파일의 확장자를 기반으로, 생성할 데이터저장소의 적합한 유형을 자동으로 지정합니다.

데이터형: char | string

폴더 내에 있는 하위 폴더 포함 여부로, 'IncludeSubfolders'와 함께 true(1)나 false(0)가 쉼표로 구분되어 지정됩니다. 각 폴더 내에 있는 모든 파일과 하위 폴더를 포함하려면 true를 지정하고, 각 폴더 내에 있는 파일만 포함하려면 false를 지정하십시오.

'IncludeSubfolders'를 지정하지 않으면 디폴트 값 false로 지정됩니다.

'IncludeSubfolders' 이름-값 쌍은 다음 객체를 생성하는 경우에만 유효합니다.

  • TabularTextDatastore

  • ImageDatastore

  • SpreadsheetDatastore

  • FileDatastore

  • KeyValueDatastore

예: 'IncludeSubfolders',true

데이터형: logical | double

파일의 확장자로, 'FileExtensions'와 함께 문자형 벡터, 문자형 벡터로 구성된 셀형 배열, string형 스칼라 또는 string형 배열이 쉼표로 구분되어 지정됩니다. 'FileExtensions'를 지정할 때에는 'Type'도 지정해야 합니다. 빈 따옴표 ''를 사용하면 확장자 없이 파일을 나타낼 수 있습니다.

'FileExtensions'가 지정되지 않으면 datastore가 데이터저장소 유형에 따라 모든 지원되는 파일 확장자를 자동으로 포함시킵니다. 지원되지 않는 확장자를 포함시키려면 포함시킬 확장자를 개별적으로 지정해야 합니다.

  • TabularTextDatastore 객체에 대해 지원되는 확장자에는 .txt, .csv, .dat, .dlm, .asc, .text가 포함되며, 확장자가 없는 경우도 지원됩니다.

  • ImageDatastore 객체에 대해 지원되는 확장자에는 모든 imformats 확장자가 포함됩니다.

  • SpreadsheetDatastore 객체에 대해 지원되는 확장자에는 .xls, .xlsx, .xlsm, .xltx, .xltm이 포함됩니다.

  • TallDatastore 객체에 대해 지원되는 확장자에는 .mat.seq가 포함됩니다.

'FileExtensions' 이름-값 쌍은 다음 객체를 생성하는 경우에만 유효합니다.

  • TabularTextDatastore

  • ImageDatastore

  • SpreadsheetDatastore

  • FileDatastore

  • KeyValueDatastore

예: 'FileExtensions','.jpg'

예: 'FileExtensions',{'.txt','.text'}

데이터형: char | cell | string

파일 시스템 루트 경로의 대체 경로로, 'AlternateFileSystemRoots'와 함께 string형 벡터 또는 셀형 배열이 쉼표로 구분되어 지정됩니다. 로컬 컴퓨터에 데이터저장소를 만들지만 다른 컴퓨터(다른 운영 체제의 컴퓨터일 수 있음)의 데이터에 액세스하고 이를 처리해야 하는 경우 'AlternateFileSystemRoots'를 사용합니다. 또한, PCT(Parallel Computing Toolbox™)와 MATLAB® Distributed Computing Server™를 사용하여 데이터를 처리하고, 처리한 데이터를 다른 플랫폼 클라우드 또는 다른 클러스터 컴퓨터에 있는 데이터의 복사본과 함께 로컬 컴퓨터에 저장할 경우 'AlternateFileSystemRoots'를 사용하여 루트 경로를 연결해야 합니다.

  • 실질적으로 서로 동일한 루트 경로들의 집합을 연결하려면 'AlternateFileSystemRoots'를 string형 벡터로 지정하십시오. 예를 들면 다음과 같습니다.

    ["Z:\datasets","/mynetwork/datasets"]

  • 데이터저장소에 대한 실질적으로 동일한 여러 루트 경로의 집합을 여러 개 연결하려면 'AlternateFileSystemRoots'를 여러 행이 포함된 셀형 배열로 지정하십시오. 여기서 각 행은 실질적으로 동일한 루트 경로들의 집합 하나를 나타냅니다. 셀형 배열의 각 행을 string형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 지정합니다. 예를 들면 다음과 같습니다.

    • 'AlternateFileSystemRoots'를 string형 벡터로 구성된 셀형 배열로 지정합니다.

      {["Z:\datasets", "/mynetwork/datasets"];...
       ["Y:\datasets", "/mynetwork2/datasets","S:\datasets"]}

    • 또는 'AlternateFileSystemRoots'를 문자형 벡터로 구성된 셀형 배열로 지정합니다.

      {{'Z:\datasets','/mynetwork/datasets'};...
       {'Y:\datasets', '/mynetwork2/datasets','S:\datasets'}}

'AlternateFileSystemRoots'의 값은 다음 조건을 충족해야 합니다.

  • 하나 이상의 행을 포함합니다. 여기서 각 행은 실질적으로 동일한 여러 루트 경로를 지정합니다.

  • 각 행은 여러 개의 루트 경로를 지정하고, 각 루트 경로는 적어도 두 개의 문자를 포함해야 합니다.

  • 루트 경로는 고유하며 서로의 하위 폴더가 아닙니다.

  • 파일의 위치를 가리키는 적어도 하나의 루트 경로 항목을 포함합니다.

자세한 내용은 Set Up Datastore for Processing on Different Machines or Clusters 항목을 참조하십시오.

예: ["Z:\datasets","/mynetwork/datasets"]

데이터형: string | cell

텍스트 변수의 출력 데이터형으로, 'TextType'과 함께 'char'이나 'string'이 쉼표로 구분되어 지정됩니다. read, readall, preview 함수 중 하나의 출력 테이블에 텍스트 변수가 포함된 경우 'TextType'TabularTextDatastore 객체와 SpreadsheetDatastore 객체에 대해서만 이러한 변수의 데이터형을 지정합니다. 'TextType''char'인 경우 출력값은 문자형 벡터로 구성된 셀형 배열입니다. 'TextType''string'인 경우 출력값은 string형입니다.

데이터형: char | string

가져오는 날짜/시간 데이터의 유형으로, 'DatetimeType'과 함께 'datetime'이나 'text' 값 중 하나가 쉼표로 구분되어 지정됩니다. 'DatetimeType' 인수는 TabularTextDatastore 객체를 만들 때에만 적용됩니다.

가져오는 날짜/시간 데이터의 유형
'datetime'

MATLAB datetime 데이터형

자세한 내용은 datetime을 참조하십시오.

'text'

'DatetimeType''text'로 지정된 경우, 가져오는 날짜/시간 데이터의 유형은 'TextType' 파라미터에 지정된 값에 따라 달라집니다.

  • 'TextType''char'인 경우 datastore는 날짜를 문자형 벡터로 구성된 셀형 배열로 반환합니다.

  • 'TextType''string'인 경우 datastore는 날짜를 string형 배열로 반환합니다.

예: 'DatetimeType','datetime'

데이터형: char | string

텍스트 파일의 duration형 데이터의 출력 데이터형으로, 'DurationType'과 함께 'duration'이나 'text'가 쉼표로 구분되어 지정됩니다.

가져오는 duration형 데이터의 유형
'duration'

MATLAB duration 데이터형

자세한 내용은 duration을 참조하십시오.

'text'

'DurationType''text'로 지정된 경우, 가져오는 duration형 데이터의 유형은 'TextType' 파라미터에 지정된 값에 따라 달라집니다.

  • 'TextType''char'인 경우 가져오기 함수는 duration형 데이터를 문자형 벡터로 구성된 셀형 배열로 반환합니다.

  • 'TextType''string'인 경우 가져오기 함수는 duration형 데이터를 string형 배열로 반환합니다.

데이터형: char | string

이 이름-값 쌍 외에도, 다음 객체의 모든 속성(단, Files 속성은 제외)을 이름-값 쌍으로 지정할 수 있습니다.

출력 인수

모두 축소

데이터 모음의 데이터저장소로, TabularTextDatastore, ImageDatastore, SpreadsheetDatastore, KeyValueDatastore, FileDatastore, TallDatastore, DatabaseDatastore 객체 중 하나로 반환됩니다. 데이터저장소의 유형은 파일 형식이나 location 인수에 따라 달라집니다. 자세한 내용을 보려면 다음 표에서 데이터저장소 이름을 클릭하십시오.

유형 출력값
텍스트 파일TabularTextDatastore
이미지 파일ImageDatastore
스프레드시트 파일SpreadsheetDatastore
mapreduce에 의해 생성된 MAT 파일 또는 시퀀스 파일KeyValueDatastore
사용자 지정 형식 파일FileDatastore
tall 데이터형의 write 함수에 의해 생성된 MAT 파일 또는 시퀀스 파일입니다. TallDatastore
데이터베이스DatabaseDatastore

이러한 데이터저장소 유형 각각에 대한 Files 속성은 문자형 벡터로 구성된 셀형 배열입니다. 각각의 문자형 벡터는 location 인수로 확인된 파일의 절대 경로입니다.

R2014b에 개발됨