python大数量

图片 1

http://blog.csdn.net/xnby/article/details/50782913

分布式缓存框架:

Microsoft Velocity:微软自家分布式缓存服务框架。

Memcahed:一套分布式的高速缓存系统,近年来被许多网站使用以升级网站的访问速度。

Redis:是四个高质量的KV数据库。 它的面世非常大程度补偿了Memcached在好几方面的欠缺。

EnyimMemcached:访问Memcached最精良的.NET客户端,集成不错的分布式均衡算法

一句话总计:spark是八个依照内部存款和储蓄器的大数目测算框架,

开源的.NET系统推荐:

OXITE:微软ASP.NET MVC案例演示框架。

PetShop:微软ASP.Net宠物商店。

Orchard:国外一个MVC开源的博客系统。

SSCLI:微软在NET Framework 2.0时日的开源代码。

DasBlog:国外3个基于ASP.NET的博客系统。

BlogEngine.NET:外国一款免费开源的博客系统。

Dotnetnuke.NET:一套万分完美的依据ASP.NET的开源门户网站程序。

Discuz.NET:国内开源的论坛社区种类。

nopCommerce和Aspxcommerce:国外一套高品质的开源B2C网站系统。

JumboTCMS和DTCMS:国内四款开源的网站管理连串:

上层包罗了:斯Parker SQL类似HiveQL, 斯Parker Streaming
实时数据流计算,MLlib 机械学习算法包,GraphX
图算法包

日志记录相当处理:

Log4Net.dll:轻量级的免费开源.NET日志记录框架。

Enterprise Library Log Application Black:微软公司库日志记录。

Elmah:完毕最盛行的ASP.NET应用特别日志记录框架。

NLog:是一个粗略利落的日志记录类库,品质比Log4Net高,使用和保安难度低。

底层 SparkCore
完成了基本作用:职分调度,内部存款和储蓄器管理,错误苏醒,存款和储蓄交互等,斯ParkerCore还富含了对纳瓦拉DD(弹性分布式数据集)的API定义

关于NoSQL数据库:

MongoDB:分布式文件存储数据库。

Membase:家族的三个新的重量级的分子。

LX570DD是斯Parker对计量职责封装,以后不懂也没涉及,后面会随着实例进一步驾驭奥德赛DD

机动义务调度框架

Quartz.NET:开源的作业调度和机关职责框架。

Topshelf:另一种创立Windows服务的开源框架

 

依傍注入IOC容器框架:

Unity:微软patterns&practicest团队开发的IOC注重注入框架,援救AOP横切关怀点。

MEF(Managed Extensibility
Framework):是三个用来增添.NET应用程序的框架,可支付插件系统。

spring.NET:依赖注入、面向方面编制程序(AOP)、数据访问抽象,、以及ASP.NET集成。

Autofac:最风靡的借助注入和IOC框架,轻量且高品质,对项目代码差不多无其余侵入性。

PostSharp:完毕静态AOP横切关怀点,使用简易,功用强大,对指标拦截的法子无需任何变动。

Ninject:基于.NET轻量级开源的正视注入IOC框架

一、Spark安装:

常用的多少个O中华VM框架:

EF(ADO.NET Entity Framework):微软依照ADO.NET开发的O奥迪Q3M框架。

Nhibernate:面向.NET环境的轻量级的OLANDM框架。

SqlMapper.cs:用于小项目标通用的C#数据库访问类。

AutoMapper:流行的对象映射框架,可缩小大气硬编码,很精致灵活,品质表现也可接受。

SubSonic:非凡的开源的O揽胜极光M映射框架,同时提供符合笔者要求的代码生成器。

FluentData:开源的基于Fluent API的链式查询O揽胜极光M轻量级框架。

Dapper:轻量级高质量基于EMIT生成的O福特ExplorerM框架。

EmitMapper:质量较高的OCRUISERM框架,运转时经过EMIT动态生成IL代码,并非采取反射机制。

单机版本spark安装至极简单,从官网下载二个源码包,解压即可。http://spark.apache.org/downloads.html

格式和数据类型转换

Newtonsoft.Json:近来.NET支付中最流行的JSON连串化库,为新版的WebApi库提供基础。

System.JSON.dll:微软温馨费用的JSON系列化组件(要求单独下载)

DataContractJsonSerializer 和
DataContractXmlSerializer
:微软在WCF中利用的种类化器。

JavaScriptSerializer:微软暗许针对WEB开发者提供的JSON格式化器。

iTextSharp、PDFsharp 和 PDF.NET:通过.NET处理和生成PDF文档的零部件。

SharpZipLib.dll:免费开源的ZIP和GZIP文件解压缩组件。

Math.NET:强大的数学生运动算、微积分、解方程和科学生运动算。

DocX:不供给安装word软件,通过C#操作word文件。

SharpSerializer:开源XML和、二进制、JSON、压缩和优化框架。

解压,把bin目录参与环境变量,pyspark即可运行python shell

反射和动态语言

Clay dynamic:开源的动态语言dynamic框架让你形如JavaScript的办法创立对象。

ExposedObject:在类的外部通过动态语言dynamic的法门访问私有成员。

PrivateObject:微软单元测试框架中便捷在外表调用类内部私有成员的三个类。

 

跨平台和平运动作时消除方案

MONO.NET:跨平台的.NET运营条件,让.NET跨平台运转成为大概。

DotGnu Portable.NET:类似于MONO.NET的跨平台运营时。

Phalanger:将PHP编译成.NET,可实现PHP与.NET互操作。

VMDotNet:中国际联盟通飞信所接纳过的.NET运转时。

Unity3D:微软全力以赴帮助的机遇C#和JavaScript的跨平台游戏开发框架。

Cassini、IIS Express和Cassinidev:开源的ASP.NET执行环境。

Katana:微软基于OWIN规范落实的非IIS寄宿ASP.NET和MVC等。

IKVM.NET:基于.NET的Java虚拟机,让JAVA运行在.NET之上。

单机形式运营pyspark后

WEB开发和统一筹划

Jumony Core:基于.NET开发的HTML引擎。

Microsoft.mshtml.dll、Winista.HtmlParser.dll 和
HtmlAgilityPack.dll
:解析处理HTML文书档案的框架。

JavaScript.NET和ClearScript(微软出品):基于.NET开发的JavaScript引擎。

NCrawler:其HTML处理引擎htmlagilitypack的的开源网络爬虫软件。

AntiXSS:微软官方预防跨站XSS脚本凌犯攻击的开源类库,它经过白名单机制实行内容编码。

YUICompressor.NET、Microsoft Ajax Minifier 和 Google Closure
Compiler
:JavaScrip和CSS压缩器。

NancyFx:是3个正确的轻量级开源.NET
WEB框架。倘使想急速做个不难的WEB应用。

AspNetPager:国内著名的ASP.NET分页控件,支持二种分页格局。

NOPI.dll:导出Excel报表的插件(基于微软OpenXml实现)(nopi.css.dl通过css设置样式)

Enterprise Library:微软本着卖家级应用开发的极品实践组件。

PowerCollections:海外二个牛人写的高档开源集合。

三个简便的demo:

挪动互联网和云计算

PushSharp:通过.NET向各个运动平台推送消息。

mono
for Android
:用.NET语言开发安卓应用:

MonoTouch:用.NET语言开发iOS应用。

PhoneGap和AppCan:跨平台基于HTML5移动支付平台。

Cordova:PhoneGap进献给Apache后的开源项目,是驱动PhoneGap的宗旨引擎。

 

网络通讯和网络协议

SuperSocket:基于.NET轻量级的可扩展的Socket开发框架。

SuperWebSocket:通过.NET实现TML5 WebSocket框架。

XProxy:帮忙插件的基础代理程序集,内置NAT、加解密、反向、直接和间接代理。

>>>lines = sc.textFile(“1.txt”)
//创制二个CR-VDD,“1.txt为地面存在的文书

图表和图像处理框架

Paint.NET:基于.NET小巧灵活有力的图形处理开源项目。

Imagemagick.NET:用C#对开源图像处理组件Imagemagick的卷入。

Skimpt:基于.NET开源的显示屏截图软件。

ImageGlue.NET:商业的图像处理组件,支持的格式列了一大堆。

Sprite and Image Optimization
Framework
:微软CSS天使,多图合成一张大图和CSS样式。

>>> lines                                    
                             

桌面应用程序框架

DevExpress:3个大地盛名的桌面应用程序UI控件库。

Prism:微软开发的指向WPF和Silverlight的MVVM框架,通过功用模块化的构思,来讲复杂的作业职能和UI耦合性举行分离。

WPFToolkit 和 Fluent Ribbon Control
Suite
:开发近乎于Office风格的Ribbon菜单。

MapPartitionsRDD[4] at textFile at
NativeMethodAccessorImpl.java:-2

测试和品质评估方面

Faker.Net:方便生成大量测试数据的框架。

Nunit:3个轻量级的单元测试框架。

Moq:相当红的Mock框架,辅助LINQ,灵活且高品质。

xUnit:比NUnit更好的单元测试框架,升级立异版的Nunit框架。

MiniProfiler和Glimpse:基于MVC的四款质量事件监察和控制框架。

>>> lines.count()

事情和分布式事务帮忙

KtmIntegration:八个协理NTFS文件系统的业务开源类。

NET Transactional File
Manager
:对文件系统操作(复制、移动和删除)参加工作援救。

7

分词、全文字笔迹检验索和寻找引擎

Lucene.net:流行高质量的全文索引库,可用于为各项新闻提供强有力的探寻功用。

Lucene.Net.Analysis.PanGu:帮衬Lucene.Net最新版的苍天粤语分词扩大库。

经过lines对象,能够调用基本的函数,总括单词数等

数量申明组件整理

FluentValidation for .NET:基于LINQ表明式方法链Fluent接口验证组件。

Microsoft.Practices.EnterpriseLibrary.Validation.dll:微软企业库验证程序块。

CuttingEdge.Conditions:基于Fluent接口方法练接口的契约编制程序组件。

DotNetOpenAuth:让网站有着帮助OpenID、OAuth、InfoCard等身份验证的能力。

 

开源图表总括量控制件:

Visifire:一套效果尤其好的WPF图表控件,扶助3D绘制、曲线、折线、扇形、环形和梯形。

SparrowToolkit:一套WPF图表控件集,协助绘制动态曲线,可绘制示波器、CPU使用率和波形。

DynamicDataDisplay:微软开源的WPF动态曲线图,线图、气泡图和热力图。

 

能够扩展新闻队列项目,如:卡夫卡是一种分布式的,基于公布/订阅的消息系统。首要设计目的如下:

以时间复杂度为O(1)的章程提供音信持久化能力,就算对TB级以上数量也能确认保障常数时间复杂度的拜会质量。

高吞吐率。固然在很是廉价的商用机器上也能完毕单机协理每秒100K条以上消息的传导。

支持KafkaServer间的音讯分区,及分布式消费,同时确定保证每种Partition内的音信顺序传输。

同时帮衬离线数据处理和实时数据处理。

Scale out:帮助在线水平扩张。

RabbitMQ

RabbitMQ是选取Erlang编写的1个开源的音信队列,自己援助广大的商业事务:AMQP,XMPP,
SMTP,
STOMP,也正因如此,它那个重量级,更合乎于公司级的开销。同时完成了Broker构架,那表示音信在发送给客户端时先在主导队列排队。对路由,负载均衡恐怕数额持久化都有很好的支撑。

Redis

Redis是八个基于Key-Value对的NoSQL数据库,开发保养很活泼。即便它是3个Key-Value数据仓库储存款和储蓄系统,但它本身帮忙MQ功效,所以完全能够看作贰个轻量级的行列服务来利用。对于RabbitMQ和Redis的入队和出队操作,各执行100万次,每10万次记录三遍施行时间。测试数据分为128Bytes、512Bytes、1K和10K几个不等尺寸的多少。实验注明:入队时,当数码相比较时辰Redis的性质要高于RabbitMQ,而如若数量大小当先了10K,Redis则慢的无法忍受;出队时,无论数额大小,Redis都展现出相当好的天性,而RabbitMQ的出队质量则远小于Redis。

ZeroMQ

ZeroMQ号称最快的音讯队列系统,尤其针对大吞吐量的需要境况。ZeroMQ能够实现RabbitMQ不善于的高级/复杂的系列,不过开发人士要求本身组合各个技术框架,技术上的复杂度是对那MQ能够利用成功的挑战。ZeroMQ具有几个特种的非中间件的形式,你不供给安装和周转一个信息服务器或中间件,因为您的应用程序将扮演那些服务器角色。你只供给简单的引用ZeroMQ程序库,能够应用NuGet安装,然后你就能够心潮澎湃的在应用程序之间发送新闻了。不过ZeroMQ仅提供非持久性的队列,也便是说假设宕机,数据将会丢掉。当中,推特的Storm
0.9.0从前的本子中暗中同意使用ZeroMQ作为数据流的传导(Storm从0.9版本开端还要帮助ZeroMQ和Netty作为传输模块)。

ActiveMQ

ActiveMQ是Apache下的四个子项目。
类似于ZeroMQ,它能够以代表和点对点的技艺完毕队列。同时类似于RabbitMQ,它少量代码就能够快捷地完毕高级应用场景。

Kafka/Jafka

Kafka是Apache下的贰个子项目,是3个高质量跨语言分布式发表/订阅新闻队列系统,而Jafka是在卡夫卡之上孵化而来的,即卡夫卡的三个升级版。具有以下特征:连忙持久化,能够在O(1)的体系开发下展开消息持久化;高吞吐,在一台一般的服务器上既能够达到10W/s的吞吐速率;完全的分布式系统,Broker、Producer、Consumer都原生自动补助分布式,自动完成负载均衡;支持Hadoop数量交互加载,对于像Hadoop的一致的日记数据和离线分析系统,但又要求实时处理的限制,那是3个使得的化解方案。卡夫卡通过Hadoop的竞相加运载飞机制统一了在线和离线的音信处理。Apache
卡夫卡相对于ActiveMQ是三个分外轻量级的信息系统,除了品质拾贰分好之外,如故2个干活杰出的分布式系统。

事例中sc是什么样吧?斯ParkerContext。

种种spark应用都有3个驱动器程序()来倡导集群上的种种并行操作,pyspark即驱动器程序,

驱动器程序通过2个斯ParkerContext对象来拜访斯Parker,sc代表对计量集群的叁个老是。

驱动器程序一般要保管多个执行器节点,将总计职务分发给区别的节点总括。

 

上面继续形成大数目下的Helloword:word count
程序:

 

>>> words = lines.flatMap(lambda line:
line.split(‘ ‘))

>>> words

PythonRDD[8] at RDD at PythonRDD.scala:43

>>> wc = words.map(lambda x:(x,1))

>>> wc

PythonRDD[9] at RDD at PythonRDD.scala:43

>>> from operator import add

>>> counts = wc.reduceByKey(add)

>>> counts

PythonRDD[14] at RDD at PythonRDD.scala:43

 

>>> counts.saveAsTextFile(“wc”)

演示中能够见到 lines,words,wc,counts都以奥迪Q5DD对象实例

每一步操作在斯Parker都是EscortDD的三个抽象

 

独立行使,不通过shell怎么写独立的本子呢,

直白编写校本文件,然后经过spark-submit提交即可

eg:worldcount程序的py脚本如下:

########first.py############

from pyspark import SparkConf, SparkContext
from operator import add

conf = SparkConf().setMaster(“local”).setAppName(“My App”)
sc = SparkContext(conf=conf)

lines = sc.textFile(“/Users/xiabin/1.txt”)

words = lines.flatMap(lambda line: line.split(‘ ‘))
wc = words.map(lambda x:(x,1))
counts = wc.reduceByKey(add)

counts.saveAsTextFile(“wcres”)

########first.py############

测试中还发现,spark-submit能够智能的分辨应用的一些py模块,比如import贰个myconf.py文件

依然一个包都能够不要添加此外代码运维(只单机实验)。

率先次接触下来相比写hadoop的mapreduce代码,spark的包裹调用相对来说简单了好多。

外加消息:

http://www.tuicool.com/articles/iAbInuj 

http://blog.csdn.net/kwu\_ganymede/article/details/51832427

发表评论

电子邮件地址不会被公开。 必填项已用*标注