首页 理论教育高校图书馆大数据收集与存储方法

高校图书馆大数据收集与存储方法

【摘要】:在图7.2的图书馆大数据存储层,Hadoop HDFS提供了最基本的持久化分布式文件系统。Hadoop HDFS适于存储数据查询和处理要求不高的信息,例如图书馆界近一年的重大新闻集合。HBase的列式存储便于数据定义的随时更改,且适于大规模本体数据、知识库和知识图谱的存储、查询。Mongo DB的嵌入式文档则支持复杂的层级结构,为格式不一的各类社交文本大数据的存储提供了更高的灵活性。

图7.2最底层是图书馆大数据收集。外部行业动态、行业新闻等信息可通过Nutch、Heritrix等开源网络爬虫系统从互联网上采集,而图书馆内部产生的数据则可以通过Cloudera提供的Flume系统进行采集。Flume是一个开源的分布式海量日志收集系统,安全可靠,可以将用户的访问日志定期传送并保存到分布式存储中,以供后续跟踪和分析。

在图7.2的图书馆大数据存储层,Hadoop HDFS提供了最基本的持久化分布式文件系统。Hadoop HDFS适于存储数据查询和处理要求不高的信息,例如图书馆界近一年的重大新闻集合。对于高级应用开发,HBase和Mongo DB则提供了类似关系型数据库的功能。HBase的列式存储便于数据定义的随时更改,且适于大规模本体数据、知识库和知识图谱的存储、查询。Mongo DB的嵌入式文档则支持复杂的层级结构,为格式不一的各类社交文本大数据的存储提供了更高的灵活性。这使得应用开发者一开始并不一定要严格地定义用户访问日志格式,而可以随着应用需求的不断更新而变化。Redis、Berkeley DB和Memcached等支持非持久化的数据库,为HBase和Mongo DB数据库提供了缓存机制,可以大幅地提升智慧系统的响应速度,降低持久化存储的压力。

在图7.2的图书馆大数据处理层,Hadoop的MapReduce和Spark核心组件皆是为批量处理而设计,使用映射和规约的思想可以进行海量数据的分析和操作。比如,可以统计最近的行业新闻里发生了哪些重大事件,近期用户检索文献产生了哪些热门关键词。Spark SQL融合多数据源的不同格式结构化数据,对Spark数据执行类SQL查询,方便熟悉关系型SQL语言的使用者进行快速开发。另外,为了提供泛在性、实时性的图书馆智慧服务,还需要进行大数据实时处理,例如,新闻和用户行为往往都是实时发生的,若批量处理则延迟太高。利用Kafka消息机制,可以将数据的变化及时推送到各个数据处理系统进行增量更新。Spark Streaming则在映射和规约的思想基础上提供流式计算框架,进一步提升处理的实时性。