Импортируйте большие данные Используя DatabaseDatastore Объект

В этом примере показано, как создать databaseDatastore объект для доступа к наборам данных хранится в реляционной базе данных. После создания DatabaseDatastore объект, можно предварительно просмотреть данные, считать данные во фрагментах и считать каждую запись в наборе данных.

Чтобы анализировать большие данные, можно запустить алгоритмы на больших наборах данных с помощью длинного массива.

В качестве альтернативы можно написать алгоритм MapReduce, который определяет фрагментацию и сокращение данных.

Этот пример использует предварительно сконфигурированный источник данных JDBC, чтобы создать соединение с базой данных. Для получения дополнительной информации смотрите configureJDBCDataSource функция.

Создайте DatabaseDatastore Объект

Создайте соединение с базой данных к источнику данных JDBC MSSQLServerJDBCAuth. Этот источник данных конфигурирует драйвер JDBC к базе данных Microsoft® SQL Server® с аутентификацией Windows®. Задайте пустое имя пользователя и пароль.

datasource = "MSSQLServerJDBCAuth";
username = "";
password = "";
conn = database(datasource,username,password);

Создайте DatabaseDatastore объект с помощью соединения с базой данных и SQL-запроса. Этот SQL-запрос получает все данные от airlinesmall таблица.

sqlquery = 'select * from airlinesmall';

dbds = databaseDatastore(conn,sqlquery);

Предварительно просмотрите данные в DatabaseDatastore Объект

Предварительно просмотрите первые восемь записей в наборе данных, возвращенном путем выполнения SQL-запроса.

preview(dbds)
ans =

  8×29 table

    Year    Month    DayofMonth    DayOfWeek    DepTime    CRSDepTime    ArrTime    CRSArrTime    UniqueCarrier    FlightNum    TailNum     ActualElapsedTime    CRSElapsedTime    AirTime    ArrDelay    DepDelay    Origin    Dest     Distance    TaxiIn    TaxiOut    Cancelled    CancellationCode    Diverted    CarrierDelay    WeatherDelay    NASDelay    SecurityDelay    LateAircraftDelay
    ____    _____    __________    _________    _______    __________    _______    __________    _____________    _________    ________    _________________    ______________    _______    ________    ________    ______    _____    ________    ______    _______    _________    ________________    ________    ____________    ____________    ________    _____________    _________________

    1990      9          11            2         1810         1812        1939         1930           'AA'           1426       'NA'                89                 78           'NA'          9          -2       'RST'     'ORD'       268       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1990     10          27            6         1353         1355        1634         1640           'US'            112       'NA'               161                165           'NA'         -6          -2       'TPA'     'SYR'      1104       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1990     10          23            2         1057         1055        1205         1155           'US'           1621       'NA'                68                 60           'NA'         10           2       'ROC'     'EWR'       246       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1990     10           8            1         1515         1440        1609         1535           'NW'            749       'NA'                54                 55           'NA'         34          35       'MSP'     'FSD'       197       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1990     10          19            5         1130         1120        1203         1154           'UA'            369       'NA'                93                 94           'NA'          9          10       'BUF'     'ORD'       473       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1990     10          12            5         1755         1733        1858         1820           'DL'            590       'NA'                63                 47           'NA'         38          22       'BOS'     'BGR'       201       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    2001     11          22            4         1345         1355        1530         1549           'MQ'           4982       '#NAME?'           105                114           '90'        -19         -10       'JAX'     'MIA'       334       '8'       '7'           0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    2001     11          26            1         2105         2110        2209         2237           'AA'           1947       'N3BäA1'            64                 87           '47'        -28          -5       'SFO'     'LAX'       337       '6'       '11'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       

Считайте данные в DatabaseDatastore Объект

Считайте первые 10 записей.

dbds.ReadSize = 10;

read(dbds)
ans =

  10×29 table

    Year    Month    DayofMonth    DayOfWeek    DepTime    CRSDepTime    ArrTime    CRSArrTime    UniqueCarrier    FlightNum    TailNum    ActualElapsedTime    CRSElapsedTime    AirTime    ArrDelay    DepDelay    Origin    Dest     Distance    TaxiIn    TaxiOut    Cancelled    CancellationCode    Diverted    CarrierDelay    WeatherDelay    NASDelay    SecurityDelay    LateAircraftDelay
    ____    _____    __________    _________    _______    __________    _______    __________    _____________    _________    _______    _________________    ______________    _______    ________    ________    ______    _____    ________    ______    _______    _________    ________________    ________    ____________    ____________    ________    _____________    _________________

    1987     10          30            5         1329         1329        1434         1436           'US'            683        'NA'              65                 67           'NA'         -2           0       'LGA'     'BUF'       292       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     11           7            6         1316         1315        1713         1647           'TW'            810        'NA'             177                152           'NA'         26           1       'STL'     'BOS'      1046       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     11          28            6          815          815        1015         1015           'WN'            441        'NA'             120                120           'NA'          0           0       'BNA'     'HOU'       670       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     11           2            1          700          700         800          800           'NW'            790        'NA'              60                 60           'NA'          0           0       'BTR'     'MEM'       319       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     11          14            6          840          840        1127         1120           'CO'            733        'NA'             167                160           'NA'          7           0       'EWR'     'MCO'       938       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     11           1            7         1625         1625        1823         1758           'DL'            957        'NA'             118                 93           'NA'         25           0       'EWR'     'CVG'       569       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     11          26            4         1314         1315        1538         1542           'AA'            398        'NA'              84                 87           'NA'         -4          -1       'BNA'     'RDU'       443       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     10          28            3         1140         1140        1212         1215           'US'            262        'NA'              32                 35           'NA'         -3           0       'CLE'     'PIT'       105       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     10           9            5         1155         1155        1250         1300           'US'            282        'NA'              55                 65           'NA'        -10           0       'ROC'     'LGA'       254       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     10          22            4          715          715         807          803           'US'            304        'NA'              52                 48           'NA'          4           0       'DTW'     'PIT'       201       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       

Считайте DatabaseDatastore возразите еще два раза при помощи встречного n. Считайте 10 записей за один раз.

n = 0;

while(hasdata(dbds) && n~=2)
     read(dbds)
     n = n+1;
end
ans =

  10×29 table

    Year    Month    DayofMonth    DayOfWeek    DepTime    CRSDepTime    ArrTime    CRSArrTime    UniqueCarrier    FlightNum    TailNum    ActualElapsedTime    CRSElapsedTime    AirTime    ArrDelay    DepDelay    Origin    Dest     Distance    TaxiIn    TaxiOut    Cancelled    CancellationCode    Diverted    CarrierDelay    WeatherDelay    NASDelay    SecurityDelay    LateAircraftDelay
    ____    _____    __________    _________    _______    __________    _______    __________    _____________    _________    _______    _________________    ______________    _______    ________    ________    ______    _____    ________    ______    _______    _________    ________________    ________    ____________    ____________    ________    _____________    _________________

    1987     10          16            5         1553         1555        1641         1640           'US'            323        'NA'              48                 45           'NA'          1          -2       'BUF'     'PIT'      186        'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     10          30            5         1821         1815        1956         1955           'US'            346        'NA'              95                100           'NA'          1           6       'IND'     'EWR'      644        'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     10          12            1         1300         1300        1529         1528           'US'            370        'NA'              89                 88           'NA'          1           0       'STL'     'PIT'      553        'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     10           7            3          810          810         904          900           'US'            387        'NA'              54                 50           'NA'          4           0       'ELM'     'PIT'      208        'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     10          19            1          733          735         827          831           'US'            407        'NA'              54                 56           'NA'         -4          -2       'ROC'     'CLE'      245        'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     10          15            4          828          830         916          921           'US'            424        'NA'              48                 51           'NA'         -5          -2       'ORF'     'PHL'      211        'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     10           4            7         1750         1735        1837         1816           'US'            449        'NA'              47                 41           'NA'         21          15       'PIT'     'CLE'      105        'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     10          16            5          959         1000        1212         1215           'US'            472        'NA'              73                 75           'NA'         -3          -1       'BNA'     'PIT'      462        'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     10          17            6         2020         2020        2100         2057           'US'            490        'NA'              40                 37           'NA'          3           0       'PIT'     'ERI'      109        'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     10           6            2         1132         1135        1426         1419           'US'            516        'NA'             114                104           'NA'          7          -3       'MSP'     'PIT'      726        'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       


ans =

  10×29 table

    Year    Month    DayofMonth    DayOfWeek    DepTime    CRSDepTime    ArrTime    CRSArrTime    UniqueCarrier    FlightNum    TailNum    ActualElapsedTime    CRSElapsedTime    AirTime    ArrDelay    DepDelay    Origin    Dest     Distance    TaxiIn    TaxiOut    Cancelled    CancellationCode    Diverted    CarrierDelay    WeatherDelay    NASDelay    SecurityDelay    LateAircraftDelay
    ____    _____    __________    _________    _______    __________    _______    __________    _____________    _________    _______    _________________    ______________    _______    ________    ________    ______    _____    ________    ______    _______    _________    ________________    ________    ____________    ____________    ________    _____________    _________________

    1987     10          24            6          944          945        1211         1213           'US'            535        'NA'              87                 88           'NA'         -2          -1       'STL'     'PIT'       553       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     10          18            7          833          835        1003         1011           'US'            571        'NA'              90                 96           'NA'         -8          -2       'PIT'     'ATL'       526       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     10          26            1         2356         2355         730          721           'US'            604        'NA'             274                266           'NA'          9           1       'SFO'     'PIT'      2254       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     10          29            4         1056         1055        1208         1215           'US'            627        'NA'              72                 80           'NA'         -7           1       'EWR'     'CLE'       404       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     10           1            4         2304         2255        2340         2329           'US'            655        'NA'              36                 34           'NA'         11           9       'PBI'     'RSW'       103       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     10           3            6         1040         1040        1125         1120           'AS'             51        'NA'              45                 40           'NA'          5           0       'OME'     'OTZ'       183       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     10          23            5         1855         1855        2158         2205           'AS'             66        'NA'             123                130           'NA'         -7           0       'JNU'     'SEA'       909       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     10          30            5         1055         1055        1302         1315           'AS'             91        'NA'             187                200           'NA'        -13           0       'SEA'     'ANC'      1449       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     10          28            3          NaN         1850         NaN         2050           'AS'            116        'NA'             NaN                120           'NA'        NaN         NaN       'PDX'     'BUR'       817       'NA'      'NA'          1              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     10          26            1         1600         1600        1649         1640           'AS'            172        'NA'              49                 40           'NA'          9           0       'LAX'     'SAN'       109       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       

Сбросьте DatabaseDatastore Объект

Сбросьте DatabaseDatastore возразите против его исходного состояния, где никакие данные не были считаны из него. Сброс позволяет вам перечитывать от того же DatabaseDatastore объект.

reset(dbds)

Считайте каждую запись в DatabaseDatastore Объект

Считайте каждую запись в DatabaseDatastore объект с шагом 50 000 записей за один раз.

dbds.ReadSize = 50000;
data = readall(dbds);

Отобразите первые три записи полного набора данных.

data(1:3,:)
ans =

  3×29 table

    Year    Month    DayofMonth    DayOfWeek    DepTime    CRSDepTime    ArrTime    CRSArrTime    UniqueCarrier    FlightNum    TailNum    ActualElapsedTime    CRSElapsedTime    AirTime    ArrDelay    DepDelay    Origin    Dest     Distance    TaxiIn    TaxiOut    Cancelled    CancellationCode    Diverted    CarrierDelay    WeatherDelay    NASDelay    SecurityDelay    LateAircraftDelay
    ____    _____    __________    _________    _______    __________    _______    __________    _____________    _________    _______    _________________    ______________    _______    ________    ________    ______    _____    ________    ______    _______    _________    ________________    ________    ____________    ____________    ________    _____________    _________________

    1987     10          28            3         1140         1140        1212         1215           'US'            262        'NA'             32                  35           'NA'         -3          0        'CLE'     'PIT'      105        'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     10           9            5         1155         1155        1250         1300           'US'            282        'NA'             55                  65           'NA'        -10          0        'ROC'     'LGA'      254        'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1987     10          22            4          715          715         807          803           'US'            304        'NA'             52                  48           'NA'          4          0        'DTW'     'PIT'      201        'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       

Закройте DatabaseDatastore Объект и соединение с базой данных

close(dbds)

Смотрите также

| | | | | | |

Похожие темы

Внешние веб-сайты