Main Content

Import Large Data Using DatabaseDatastore Object and MySQL Native Interface

This example shows how to use the databaseDatastore function to create a DatabaseDatastore object for accessing collections of data stored in a MySQL® database using the MySQL native interface. After creating a DatabaseDatastore object, you can preview data, read data in chunks, and read every record in the data set.

To analyze large data, you can run algorithms on large data sets using a tall array. Alternatively, you can write a MapReduce algorithm that defines the chunking and reduction of the data.

This example uses a preconfigured MySQL data source to create the database connection. For more information, see the databaseConnectionOptions function.

Create DatabaseDatastore Object

Create a MySQL native interface database connection to a MySQL database using the data source name, user name, and password.

datasource = "MySQLDataSource";
username = "root";
password = "matlab";
conn = mysql(datasource,username,password);

Create a DatabaseDatastore object using the database connection and an SQL query. This query retrieves all data from the airlinesmall table.

sqlquery = "select * from airlinesmall"; 
dbds = databaseDatastore(conn,sqlquery); 

Preview Data in DatabaseDatastore Object

Preview the first eight records in the data set returned by executing the SQL query.

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"       

Read Data in DatabaseDatastore Object

Read the first 10 records.

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
    ____    _____    __________    _________    _______    __________    _______    __________    _____________    _________    ________    _________________    ______________    _______    ________    ________    ______    _____    ________    ______    _______    _________    ________________    ________    ____________    ____________    ________    _____________    _________________

    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"       
    2001     11          18            7         1407         1415        1442         1457           "DL"            628       "N521D1"            35                 42           "22"        -15          -8       "OKC"     "TUL"       111       "3"       "10"          0              "NA"             0            "NA"            "NA"          "NA"          "NA"               "NA"       
    2001     12          23            7         1327         1310        1530         1530           "WN"            658       "N789@@"            63                 80           "48"          0          17       "SNA"     "PHX"       338       "5"       "10"          0              "NA"             0            "NA"            "NA"          "NA"          "NA"               "NA"       

Read the DatabaseDatastore object two more times by using the counter n. Read 10 records at a time.

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
    ____    _____    __________    _________    _______    __________    _______    __________    _____________    _________    ________    _________________    ______________    _______    ________    ________    ______    _____    ________    ______    _______    _________    ________________    ________    ____________    ____________    ________    _____________    _________________

    2001     12           8            6         1402         1410        1642         1626           "NW"            809       "N324N2"           220                196           "199"        16          -8       "BOS"     "MEM"      1139       "4"       "17"          0              "NA"             0            "NA"            "NA"          "NA"          "NA"               "NA"       
    2001     12          22            6         1707         1715        1823         1821           "UA"            725       "N361ä1"           136                126           "104"         2          -8       "RIC"     "ORD"       642       "20"      "12"          0              "NA"             0            "NA"            "NA"          "NA"          "NA"               "NA"       
    2001     12           9            7          656          650         824          823           "DL"           1224       "N37438"            88                 93           "73"          1           6       "ATL"     "BWI"       576       "4"       "11"          0              "NA"             0            "NA"            "NA"          "NA"          "NA"               "NA"       
    2002      6          19            3          632          640         748          756           "NW"            126       "N773NC"            76                 76           "58"         -8          -8       "BIS"     "MSP"       386       "9"       "9"           0              "NA"             0            "NA"            "NA"          "NA"          "NA"               "NA"       
    2002      6          10            1          927          930        1031         1031           "UA"            501       "N304UA"           124                121           "101"         0          -3       "DFW"     "DEN"       641       "5"       "18"          0              "NA"             0            "NA"            "NA"          "NA"          "NA"               "NA"       
    2002      6          15            6         1120         1115        1401         1413           "DL"            406       "N1402A"           161                178           "132"       -12           5       "FLL"     "LGA"      1076       "7"       "22"          0              "NA"             0            "NA"            "NA"          "NA"          "NA"               "NA"       
    2002      6           8            6         1557         1600        1703         1711           "HP"            660       "N334AW"            66                 71           "52"         -8          -3       "PHX"     "SNA"       338       "4"       "10"          0              "NA"             0            "NA"            "NA"          "NA"          "NA"               "NA"       
    2002      6          26            3         2026         1840          47         2257           "AA"            636       "N420AA"           141                137           "115"       110         106       "PHX"     "DFW"       868       "6"       "20"          0              "NA"             0            "NA"            "NA"          "NA"          "NA"               "NA"       
    2002      6           5            3         2032         2031        2233         2248           "AA"           3163       "N4WFAA"           241                257           "220"       -15           1       "STL"     "SMF"      1679       "8"       "13"          0              "NA"             0            "NA"            "NA"          "NA"          "NA"               "NA"       
    2002      7          25            4         1032         1035        1853         1852           "US"            180       "N174UW"           321                317           "289"         1          -3       "SEA"     "PHL"      2378       "9"       "23"          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          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"       
    1992      7          18            6         1538         1540        1703         1720           "NW"            199        "NA"             145                160           "NA"        -17          -2       "DCA"     "MSP"       931       "NA"      "NA"          0              "NA"             0            "NA"            "NA"          "NA"          "NA"               "NA"       
    1992      7          19            7          932          932        1130         1052           "AA"           1433        "NA"             118                 80           "NA"         38           0       "DFW"     "HRL"       461       "NA"      "NA"          0              "NA"             0            "NA"            "NA"          "NA"          "NA"               "NA"       
    1992      8           4            2          NaN         1815         NaN         1940           "US"            127        "NA"             NaN                 85           "NA"        NaN         NaN       "EWR"     "PIT"       319       "NA"      "NA"          1              "NA"             0            "NA"            "NA"          "NA"          "NA"               "NA"       

Reset DatabaseDatastore Object

Reset the DatabaseDatastore object to its original state, where no data has been read from it. Resetting allows you to reread from the same DatabaseDatastore object.

reset(dbds) 

Read Every Record in DatabaseDatastore Object

Read every record in the DatabaseDatastore object in increments of 50,000 records at a time.

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

Display the first three records of the full data set.

head(data,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
    ____    _____    __________    _________    _______    __________    _______    __________    _____________    _________    _______    _________________    ______________    _______    ________    ________    ______    _____    ________    ______    _______    _________    ________________    ________    ____________    ____________    ________    _____________    _________________

    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"       

Close DatabaseDatastore Object and Database Connection

close(dbds)

See Also

| | | | | |

Related Topics