Cassini

lioncruise's blog


  • 首页

  • 分类

  • 归档

  • 标签

  • 搜索

《大数据系统与数据分析》之存储

发表于 2017-05-03 | 分类于 分布式系统

分布式系统

分布式系统由网络将不同的机器连接起来。

类型:

  • C/S
  • P2P(没有中心节点,整个系统功能完全是分布式完成的)

CAP理论:

  • 多份数据的 一致性
  • 系统的 可用性
  • 容忍网络断开

CAP三者不可兼得。

阅读全文 »

《大数据系统与数据分析》之大数据计算

发表于 2017-05-01 | 分类于 分布式系统

MapReduce

MapReduce 是一个编程模型。

并行分布式程序设计非常不容易,涉及到很多方面:

  • 多线程编程
  • socket编程
  • job的调度、协同、worker之间的负载均衡
  • 节点的容错
  • 分布式系统的debug比较困难

MapReduce的整体思路就是:让 程序员 写 串行程序,并行分布式计算平台提供一些接口(比如Map、Reduce),并将其并行分布式地执行。

阅读全文 »

《大数据系统与数据分析》之关系型数据库

发表于 2017-04-15 | 分类于 分布式系统

关系型数据库

关系型数据库:关系代数

事务处理

数据仓库:OLAP(在线联机分析处理)、ETL(extract、transform、load)。用不同处数据源收集数据,面向某个主题按维度集成到一起。

离线批处理

实时数据流处理

阅读全文 »

Python的virtualenv

发表于 2016-12-20 | 分类于 Python

最近刚刚进入今日头条实习,公司内部代码大多数使用Python写的。这几天系统地看了一下Python,发现了virtualenv这个非常实用的工具。

我们在开发Python应用程序的时候,系统安装的Python 3只有一个版本,所有第三方的包都会被pip安装到Python3的site-packages目录下。如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
site-packages $ pwd
/usr/local/lib/python3.6/site-packages
site-packages $ ls
Flask-0.12.dist-info mysql_connector-2.1.4.dist-info
Jinja2-2.9.4.dist-info pip
MarkupSafe-0.23-py3.6.egg-info pip-9.0.1-py3.6.egg-info
SQLAlchemy-1.1.4-py3.6.egg-info pkg_resources
Werkzeug-0.11.15.dist-info setuptools
__pycache__ setuptools-32.2.0-py3.6.egg-info
click sitecustomize.py
click-6.7.dist-info sqlalchemy
easy_install.py virtualenv-15.1.0.dist-info
flask virtualenv.py
itsdangerous-0.24-py3.6.egg-info virtualenv_support
itsdangerous.py werkzeug
jinja2 wheel
markupsafe wheel-0.29.0-py3.6.egg-info
mysql
阅读全文 »

浅入Linux的几种I/O模型

发表于 2016-11-20 | 分类于 Linux

阻塞I/O

阻塞表示一旦调用I/O函数必须等整个I/O完成才返回。正如上面提到的那种情形,当服务器调用了read函数之后,如果不是立即接收到数据,服务器进程会被阻塞,之后一直在等待用户数据到达,用户数据到达后首先会写进内核缓冲区,之后内核缓冲区数据复制到用户进程(服务器进程)缓冲区。完成了上述所有的工作后,才会把执行权限返回给用户(从内核态 -> 用户态)。

阅读全文 »
12345
lioncruise

lioncruise

Tomorrow is another day.

22 日志
9 分类
22 标签
RSS
GitHub
© 2015 — 2019 lioncruise
总访客数 人次 总访问量 次