使用高数组分析数据库中的大数据
此示例确定存储在数据库中的大量飞行数据的最小到达延迟。类可以访问大型数据集并创建高数组DatabaseDatastore
对象与数据库工具箱™。一旦存在一个高数组,您就可以在这个高数组中可视化数据。或者,您可以编写一个MapReduce算法来定义数据的分块和约简。
的DatabaseDatastore
对象不支持使用安装了并行计算工具金宝app箱™的并行池。要使用tall数组分析数据或运行MapReduce算法,请将全局执行环境设置为本地MATLAB®会话。
本例使用预配置的JDBC数据源创建数据库连接。有关更多信息,请参见
函数。configureJDBCDataSource
创建DatabaseDatastore
对象
将全局执行环境设置为本地MATLAB®会话。
mapreduce (0);
该文件airlinesmall.csv
包含大的飞行数据集。将此文件加载到Microsoft®SQL Server®数据库表中airlinesmall
.该表包含123,523条记录。
创建到JDBC数据源的数据库连接MSSQLServerJDBCAuth
.此数据源将JDBC驱动程序配置为具有Windows®身份验证的Microsoft®SQL Server®数据库。请指定空用户名和密码。
数据源=“MSSQLServerJDBCAuth”;用户名=”“;密码=”“;Conn =数据库(数据源,用户名,密码);
创建一个DatabaseDatastore
对象使用数据库连接和SQL查询。数据库中的到达延迟数据airlinesmall
表格databaseDatastore
执行SQL查询。
sqlquery ='select ArrDelay from airlinesmall';dbds = databaseDatastore(conn,sqlquery,“ReadSize”, 50000);
使用高阵列找到最小到达延迟
因为DatabaseDatastore
对象返回一个表,创建一个高表。
Tt =高(dbds);
求最小到达延误时间。
minArrDelay = min(tt.ArrDelay);
minArrDelay
包含未计算的最小到达延迟。要返回输出值,使用收集
.详细信息请参见高数组的延迟计算.
minArrDelayValue = gather(minArrDelay)
使用本地MATLAB会话计算tall表达式:-通过1 / 1:在1.6秒内完成计算在1.9秒内完成minArrDelayValue = -64
除了确定最小值外,tall数组还支持许多其他函数。金宝app详细信息请参见金宝app支持功能.
关闭DatabaseDatastore
对象和数据库连接
关上(dbd)
另请参阅
databaseDatastore
|数据库
|收集
|最小值
|柱状图
|mapreduce
|高