简易的分布式文件系统本来初期打算用Hadoop2,可是后来有限的服务器部署了SolrCloud,各种站点,发现资源不够了,近10T的文件,已经几乎把服务器的磁盘全部用光。想来想去,由于目前架构基于Scala的,所以还是用ScalaAkka实现了一个简单版本的分布式文件系统。Scala版本是2.10.3:http://www.scala-lang.org,Akka版本是2.2.3:http://akka.io。所有文件随机放在不同的服务器上,在数据库中记录了
系统 2019-08-12 01:31:55 2201
爬虫工作的三个基本步骤:爬取网页、解析内容、存储数据准备先安装爬取网页需要用到的第三方库:requests和bs4pipinstallrequestspipinstallbs4爬取网页#coding:UTF-8importrequestslink="http://www.santostang.com/"headers={'User-Agent':'Mozilla/5.0(WindowsNT6.1;Win64;x64)AppleWebKit/537.36(K
系统 2019-09-27 17:57:02 2200
简介生活中的日志是记录你生活的点点滴滴,让它把你内心的世界表露出来,更好的诠释自己的内心世界,而电脑里的日志是有价值的信息宝库。日志文件是专门用于记录系统操作事件的记录文件或文件集合,操作系统有操作系统日志文件,数据库系统有数据库系统日志文件,等等。系统日志文件是包含关于系统消息的文件,包括内核、服务、在系统上运行的应用程序等。不同的日志文件记载不同的信息。例如,有的是默认的系统日志文件,有的记载特定任务。在数据库中用事务日志文件记录数据的修改操作,其中的
系统 2019-09-27 17:55:34 2200
作者|喵叔责编|胡巍巍出品|CSDN(ID:CSDNnews)爬虫应用的广泛,例如搜索引擎、采集数据、广告过滤、数据分析等。当我们对少数网站内容进行爬取时写多个爬虫还是有可能的,但是对于需要爬取多个网站内容的项目来说是不可能编写多个爬虫的,这个时候我们就需要智能爬虫。智能爬虫目前有三种:1.基于网页内容的爬虫当网页含有大量需要提取的信息时,我们就需要用到基于网页内容的爬虫。该爬虫会将HTML视为文本并利用NLP技术进行处理。虽然说这种基于网页内容的爬虫可以
系统 2019-09-27 17:55:06 2200
Python函数编程——嵌套&匿名&高阶函数一、嵌套函数函数里不仅可以写代码,还可以嵌套函数:name="小猿圈"defchange():name="小猿圈,自学编程"defchange2():#globalname如果声明了这句,下面的name改的是最外层的全局变层name="小猿圈,自学编程不要钱"#这句注释掉的话,下面name打印的是哪个值?print("第3层打印",name)change2()#调用内层函数print("第2层打印",name)c
系统 2019-09-27 17:54:59 2200
1.概述Python中asyncio模块内置了对异步IO的支持,用于处理异步IO;是Python3.4版本引入的标准库。asyncio的编程模型就是一个消息循环。我们从asyncio块中直接获取一个EventLoop的引用,然后把需要执行的协程扔到EventLoop中执行,就实现了异步IO。2.用asyncio实现Helloworld#!/usr/bin/envpython3#-*-coding:utf-8-*-#@Time:2019/1/911:23#@
系统 2019-09-27 17:54:51 2200
fabric是一个python包是一个基于ssh的部署工具包通常用来对网站微服务等等的批量部署例如我有5台线上服务器可以通过一台对着5台分发,实现自动部署的目的。简单介绍下fabric的常用命令常用命令lcd(dir):进入本机某目录local(cmd):本机上执行命令cd(dir):进入服务器某目录run(cmd):服务器上执行命令FabricFabric是一个python的远程执行shell的库,同时它也是一个命令行工具。它提供了丰富的同SSH交互的接
系统 2019-09-27 17:54:45 2200
廖雪峰Python教程笔记(六)8模块使用模块8模块在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之为一个模块(Module)。模块的好处:最大的好处是大大提高了代码的可维护性。引用其他模块,编写代码不必从零开始可以避免函数名和变量名冲突,尽量不要与内置函数名字
系统 2019-09-27 17:54:19 2200
Python中的is和==比较两个对象的两种方法在Python中有两种方式比较两个对象是否相等,分别是is和==,两者之间是不同的==比较的是值(如同java中的equals方法)is比较的是引用(可以看作比较内存地址,类似于java中的==)对于:>>>n=1>>>nis1True>>>b='1'>>>bis1False>>>n==bFalse由于1和'1'不管在值上面还是在引用上面都不同,所以结果都为false对于:>>>n=1>>>nis1True这
系统 2019-09-27 17:53:48 2200
通常在使用Spark算子函数,比如使用map()或者reduce函数我们向函数传入条件时,函数内部可以使用驱动程序中定义的变量,但是这样会使集群中所有任务都会得到变量新的副本,这些副本的更新不会传播回驱动程序,导致读写共享变量效率低下或者内存溢出,为了解决这个问题Spark提供了两种共享变量类型:广播变量和累加器广播变量:用来高效分发较大对象,只能在Driver定义,不能在Executor端定义,同时RDD不存储数据所以不能广播出去累加器:用来对信息进行聚
系统 2019-09-27 17:52:33 2200