大数据算法(2)外存算法
当数据量太大,传统的随机存储模型失效,此时就需要外存算法
外存算法概述
传统的存储模型假设有无限内存(RAM),统一的访问代价,该模型简单易懂。而现代的计算机有复杂的存储层次:
通过多级存储的机制,增大了存储量。较慢的存储层次更加远离CPU。由于磁盘访问速度比内存访问慢了2个数量级,根据局部性原理,为了减少访问次数,数据的传输以块(block)为基本单位来平摊访问代价(每个块8-16字节)。
如今的操作系统大多能通过先进的分页和预取策略优化集中区域数据的访问,但是如果数据访问过于分散,再优秀的操作系统也无法发挥优势。所以,设计外存算法要考虑I/O问题。
传统算法的执行时间往往随着数据量的增长线性增长,但数据量特别大的时候,处理时间会急剧上升。原因是内存不够,虚存会不断访问磁盘,进行swap,造成抖动。
大数据算法(1)亚线性算法
MySQL数据导入的常用方式
环境:MySQL 5.7
LOAD DATA INFILE
MySQL的LOAD DATA INFILE
可以快速导入各种格式化的数据。现有位置数据需要导入:
数据为一般文本,位于/root/d_dt_region
,以","
分割列,以"
包裹字段。执行mysql -uroot -p
进入MySQL Shell,使用以下命令:LOAD DATA INFILE "/root/t_dt_region.csv"
INTO TABLE t_dt_region
FIELDS TERMINATED BY "," ENCLOSED BY "\""
LINES TERMINATED BY "\r\n"
(ID,PARENT_ID,NAME,SHORT_NAME,LONGITUDE,LATITUDE,LEVEL,SORT,STATUS);