0%

DATA605 Final Project

Notes about DATA605 Big Data System

Data source:

COVID-19 Open Research Dataset Challenge (CORD-19)

https://www.semanticscholar.org/cord19

Proposal

What problem are you trying to solve using a Big Data System?

We plan to use the covid virus data and policy data to create a model and then predict that how the flu can be affected if we apply the same policies.

Why does your system need to be a Big Data System?

The data we are going to use is about 67 GB. If it runs on our local pc, it may take much longer time, no need to talk about if we need to debug.

image-20220302103103919

image-20220302103048271

image-20220302104142156

How will your system satisfy the 4Vs?

Volume 体积

image-20220302103336550

Variety 多样性

CORD-19 is a resource of over 500,000 scholarly articles, including over 200,000 with full text, about COVID-19, SARS-CoV-2, and related coronaviruses. This freely available dataset is provided to the global research community to apply recent advances in natural language processing and other AI techniques to generate new insights in support of the ongoing fight against this infectious disease.

Velocity 速度

Veracity 真实性

image-20220302103224460

What technologies will you use?

GitHub上整理的一些工具

大数据处理/数据分析/分布式工具

  • Hadoop:分布式的文件系统,结合其MapReduce编程模型可以用来做海量数据的批处理(Hive,Pig,HBase啥的就不说了),值得介绍的是Cloudera的Hadoop分支CDH5,基于YARN MRv2集成了Spark可直接用于生产环境的Hadoop,对于企业快速构建数据仓库非常有用。
  • Ceph:Linux分布式文件系统(特点:无中心)
  • Storm:实时流数据处理,可以看下IBM的一篇介绍 (还有个Yahoo的S4,也是做流数据处理的)
  • Spark:大规模流式数据处理(可以应付企业中常见的三种数据处理场景:复杂的批量数据处理(batch data processing);基于历史数据的交互式查询(interactive query);基于实时数据流的数据处理(streaming data processing)),CSND有篇文章介绍的不错
  • Spark Streaming:基于Spark的实时计算框架
  • Tachyon:分布式内存文件系统
  • Mesos:计算框架一个集群管理器,提供了有效的、跨分布式应用或框架的资源隔离和共享Impala:新一代开源大数据分析引擎,提供Sql语义,比- Hive强在速度上
  • SNAPPY:快速的数据压缩系统,适用于Hadoop生态系统中
  • Kafka:高吞吐量的分布式消息队列系统
  • ActiveMQ:是Apache出品,最流行的,能力强劲的开源消息总线
  • MQTT:Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分
  • RabbitMQ:记得OpenStack就是用的这个东西吧
  • ZeroMQ:宣称是将分布式计算变得更简单,是个分布式消息队列,可以看下云风的一篇文章的介绍开源的日志收集系统:scribe、chukwa、kafka、flume。这有一篇对比文章
  • Zookeeper:可靠的分布式协调的开源项目
  • Databus:LinkedIn 实时低延迟数据抓取系统

数据源获取:Flume、Google Refine、Needlebase、ScraperWiki、BloomReach

序列化技术:JSON、BSON、Thrift、Avro、Google Protocol Buffers

NoSql:Apache Hadoop、Apache Casandra、MongoDB、Apache CouchDB、Redis、BigTable、HBase、Hypertable、Voldemort、Neo4j

MapReduce相关:Hive、Pig、Cascading、Cascalog、mrjob、Caffeine、S4、MapR、Acunu、Flume、Kafka、Azkaban、Oozie、Greenplum

数据处理:R、Yahoo! Pipes、Mechanical Turk、Solr/ Lucene、ElasticSearch、Datameer、Bigsheets、TinkerpopNLP自然语言处理:Natural Language Toolkit、Apache OpenNLP、Boilerpipe、OpenCalais

机器学习:WEKA、Mahout、scikits.learn、SkyTree

可视化技术:GraphViz、Processing、Protovis、Google Fusion Tables、Tableau、Highcharts、EChats(百度的还不错)、Raphaël.js

  • Kettle:开源的ETL工具
  • Pentaho:以工作流为核心的开源BI系统
  • Mondrian:开源的Rolap服务器
  • Oozie:开源hadoop的工作流调度引擎

开源的数据分析可视化工具:Weka、Orange、KNIME

Cobar:阿里巴巴的MySql分布式中间件

Rising Big Data Technologies You Must Know In 2021

  • aws

    aws ++++

  • Hadoop

    Hadoop 教程

    Hadoop 是一个开源的分布式计算和存储框架,由 Apache 基金会开发和维护。

    Hadoop 为庞大的计算机集群提供可靠的、可伸缩的应用层计算和存储支持,它允许使用简单的编程模型跨计算机群集分布式处理大型数据集,并且支持在单台计算机到几千台计算机之间进行扩展。

    Hadoop 使用 Java 开发,所以可以在多种不同硬件平台的计算机上部署和使用。其核心部件包括分布式文件系统 (Hadoop DFS,HDFS) 和 MapReduce。

  • MongoDB

    MongoDB 教程

    MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

    在高负载的情况下,添加更多的节点,可以保证服务器性能。

    MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

    MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

  • Kafka

  • Spark

Problem & Solution

Q: Dataset is too big to upload

S:

  1. downloading a file from Internet into S3 bucket

​ use curl

curl "https://download-link-address/" | aws s3 cp - s3://aws-bucket/data-file

curl “https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge?select=metadata.csv" | aws s3 cp - s3://cord-19-data

curl “https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge/download" | aws s3 cp - s3://cord-19-data

API command :

kaggle datasets download -d allen-institute-for-ai/CORD-19-research-challenge

kaggle datasets download -d allen-institute-for-ai/CORD-19-research-challenge | aws s3 cp - s3://cord-19-data

  1. Loading Kaggle dataset to AWS S3 using Boto3 - Medium

    1. pip install kaggle

    2. pip install awscli

    3. pip install boto3

      AKIAWIHOEAJ25KOUT7EK,c4PmAB1Ckh9EQB4ihT84dgP0PdSUu8It9lw3cl2t

  2. Part 1: How to copy Kaggle data to Amazon S3

Tips

Terminus

Integration with Amazon AWS on Desktop (beta)

https://cord-19-data.s3.amazonaws.com/-

s3://cord-19-data/-

ssh -i .pem ec2-user@

ssh -i labsuser.pem ec2-user@54.159.28.217

ssh -i ~/.ssh/labsuser.pem ec2-user@

ssh -i ~/.ssh/labsuser.pem ec2-user@54.159.28.217