首页 文章 精选 留言 我的

精选列表

搜索[和平之翼代码生成器],共10000篇文章
优秀的个人博客,低调大师

SparkML机器学习之特征工程(一)特征提取(TF-IDF、Word2Vec、CountVectorizer)

特征工程 我们都知道特征工程在机器学习中是很重要的,然而特征工程到底是什么?怎么样通俗的理解它呢?打个比方,即使你有再好的渔具,如果给你一片没有鱼的池塘,那也是白费力气的。而特征工程就是找有鱼的那片水域。所以我们可以这么理解,特征是数据中抽取出来的对结果预测有用的信息(水域),而特征工程就是使用专业知识来处理数据,筛选出具有价值的特征(从100个水域中挑选出鱼最多最好的水域)。所以有句话是这么说的:算法再牛逼,其上限也是由特征工程决定的,就像你渔具再好,捕鱼多少也是由水域这个特征决定的。在SparkML中、对于特征工程的操作主要分为特征提取,特征转化、特征选择。 特征提取 从原始数据中提取特征 TF-IDF (Term frequency-inverse document frequency) TF-IDF称为词频-逆文件频率,先搞清楚它有什么作用吧!很经典的一个问题,如何得到一篇文章的关键词??大家都能想到,看看这篇文章什么词出现最多!思路是没问题,但是,一篇文章,出现最多的,应该都是诸如“的”之类的停用词吧?这就没意义了啊!那就把这些停用词过滤掉呗,这样还是会出问题。比如一篇文章,叫做中国功夫,中国和功夫出现了同样多次数,可是显而易见,该文重点应该是功夫。而出现问题的原因,是因为中国是个热门词。这让我想到我曾写过的基于物品的协同过滤算法,也是要将热门物品做一个惩罚,否则会导致推荐不精确。TF-IDF完美的解决了这个问题,TF-IDF作用就是体现一个文档中词语重要程度。TF是某个词或短语在一篇文章中出现的频率。而IDF,就是一种对热门词语的惩罚,对于较热门词语比如"中国"会给予较小的权重,较少见的词“功夫”给予较大的权重。至于如何判断它是否为热门词,则通过该词在整个语料库的出现次数决定。比如中国这个词,语料库一共1000篇文章他就出现了100次,自然为热门词,而功夫,1000篇文章只有1篇出现了,那就为冷门词了。 package ml.test import org.apache.spark.ml.feature.{HashingTF, IDF, Tokenizer} import org.apache.spark.sql.SparkSession /** * Created by LYL on 2018/4/4. */ object TFDemo { def main(args: Array[String]): Unit = { val spark = SparkSession.builder().appName("TF-IDF Demo").master("local").getOrCreate() val sentenceData = spark.createDataFrame(Seq( (0.0, "china kungfu kungfu is good"), (1.0, "I lova china"), (2.0, "I love china shenzhen") )).toDF("label", "sentence") //Tokenizer分词器 将句子分成单词 val tokenizer = new Tokenizer().setInputCol("sentence").setOutputCol("words") val wordsData = tokenizer.transform(sentenceData) //将每个词转换成Int型,并计算其在文档中的词频(TF) //setNumFeatures(200)表示将Hash分桶的数量设置为200个,可以根据你的词语数量来调整,一般来说,这个值越大不同的词被计算为一个Hash值的概率就越小,数据也更准确,但需要消耗更大的内存 val hashingTF = new HashingTF().setInputCol("words").setOutputCol("TF Features").setNumFeatures(200) val featurizedData = hashingTF.transform(wordsData) //计算IDF val idf = new IDF().setInputCol("TF Features").setOutputCol("TF-IDF features") val idfModel = idf.fit(featurizedData) val rescaledData = idfModel.transform(featurizedData) rescaledData.select("words","TF Features","TF-IDF features")show(false) } } 输出结果为:由于china在三个文档中都出现了,所以TF-IDF=0.0,而kungfu只在第一个文档出现(说明是冷门词),却是第一个文档中出现次数最多的,因此计算出来的TF-IDF=1.3862943611198906也是最高的 +---------------------------------+----------------------------------------+---------------------------------------------------------------------------------------+ |words |TF Features |TF-IDF features | +---------------------------------+----------------------------------------+---------------------------------------------------------------------------------------+ |[china, kungfu, kungfu, is, good]|(200,[81,168,169,198],[1.0,1.0,1.0,2.0])|(200,[81,168,169,198],[0.6931471805599453,0.28768207245178085,0.0,1.3862943611198906]) | |[i, lova, china] |(200,[91,129,169],[1.0,1.0,1.0]) |(200,[91,129,169],[0.6931471805599453,0.28768207245178085,0.0]) | |[i, love, china, shenzhen] |(200,[40,129,168,169],[1.0,1.0,1.0,1.0])|(200,[40,129,168,169],[0.6931471805599453,0.28768207245178085,0.28768207245178085,0.0])| +---------------------------------+----------------------------------------+---------------------------------------------------------------------------------------+ Word2Vec word2vec是用一个向量去表示一个对象(因为计算机是无法识别对象实体的),对象可以是单词,句子,文章,用户等等。然后基于向量相似度去计算对象的相似度,找到相关的对象,发现相关关系,可以用来做分类、聚类、也可以做词的相似度计算。应用非常广泛,比如:相关词(搜索乔布斯会出来苹果),补全句子中缺失的单词,推荐系统,分析用户关系等等。 object Word2VecDemo { def main(args: Array[String]): Unit = { val spark = SparkSession.builder().master("local[2]").appName("Word2VecDemo").getOrCreate() val documentDF = spark.createDataFrame(Seq( "Hi I love Spark".split(" "), "Hi I love java".split(" "), "Logistic regression models are neat".split(" ") ).map(Tuple1.apply)).toDF("text") // setVectorSize 目标数值向量的维度大小 setMinCount 只有当某个词出现的次数大于或者等于 minCount 时,才会被包含到词汇表里,否则会被忽略掉 val word2Vec = new Word2Vec() .setInputCol("text") .setOutputCol("result") .setVectorSize(3) .setMinCount(0) val model = word2Vec.fit(documentDF) //​利用Word2VecModel把文档转变成特征向量。 val result = model.transform(documentDF) result.show(false) } } 输出结果为: +-----------------------------------------+-------------------------------------------------------------------+ |text |result | +-----------------------------------------+-------------------------------------------------------------------+ |[Hi, I, love, Spark] |[-0.03605498746037483,-0.02823249064385891,0.06127407215535641] | |[Hi, I, love, java] |[-0.046827200800180435,-0.052235052920877934,0.0025074686855077744]| |[Logistic, regression, models, are, neat]|[0.04324783757328987,0.030185341089963916,-5.047338083386422E-4] | +-----------------------------------------+-------------------------------------------------------------------+ CountVectorizer 由于计算机是不能识别单词的,所以我们要把它转为向量。Countvectorizer和Countvectorizermodel旨在通过计数来将一个文档转换为向量。 object CountVectorizerDemo { def main(args: Array[String]): Unit = { val spark = SparkSession.builder().master("local[2]").getOrCreate() val dataFrame = spark.createDataFrame(Seq( (0, Array("a", "b","b","c","d","d")), (1, Array("a","c","b" )) )).toDF("id", "words") //setVocabSize设定词汇表的最大容量为3,setMinDF设定词汇表中的词至少要在2个文档中出现过。 //如果setMinDF=2 那么就不会出现d(只在一个文档存在)了。 val cv = new CountVectorizer().setVocabSize(3).setMinDF(2).setInputCol("words").setOutputCol("features") //如果setVocabSize=2 那么就不会出现a,c(次数少)了。 val cv1 = new CountVectorizer().setVocabSize(2).setInputCol("words").setOutputCol("features") val cvModel = cv.fit(dataFrame) val cvModel1 = cv1.fit(dataFrame) cvModel.transform(dataFrame).show(truncate = false) cvModel1.transform(dataFrame).show(truncate = false) } } 输出结果为: //3代表词汇表的容量,[0,1,2]分别对应b,a,c,[2.0,1.0,1.0]代表出现次数 +---+------------------+-------------------------+ |id |words |features | +---+------------------+-------------------------+ |0 |[a, b, b, c, d, d]|(3,[0,1,2],[2.0,1.0,1.0])| |1 |[a, c, b] |(3,[0,1,2],[1.0,1.0,1.0])| +---+------------------+-------------------------+ +---+------------------+-------------------+ |id |words |features | +---+------------------+-------------------+ |0 |[a, b, b, c, d, d]|(2,[0,1],[2.0,2.0])| |1 |[a, c, b] |(2,[0],[1.0]) | +---+------------------+-------------------+

优秀的个人博客,低调大师

虚拟化基础架构Windows 2008篇之11-WSUS服务器的安装与配置

无论是数据中心还是在企业网络中,大多数Windows操作系统都要及时地更新补丁。对于家庭用户来说,或者对于大多数的企业用户来说,习惯于从Windows Update站点在线升级,或者使用第三方的工具(例如360)从Microsoft站点下载升级(360本身不提供补丁及镜像)。但是,当网络中的服务器及工作站数量较多,并且产品较多时,都从Microsoft网站升级,一是速度慢,二是会占用大量的互联网带宽。另外,尤其是在云计算的数据中心,配置新的虚拟服务器是很简单、容易的事情,例如配置一台虚拟机只需要2、3分钟甚至更短的时间,但更新补丁可能会需要几十分钟甚至更长的时间,而其中补丁下载也会占用比较长的时间。 本章介绍Microsoft系统更新服务—WSUS,介绍怎样在数据中心或企业网络中部署升级服务器,为数据中心或企业网络提供快速的补丁更新服务。在Windows Server 2008之前,WSUS是一个产品,需要从Microsoft网站下载,而从Windows Server 2008之后的服务器操作系统中已经集成了这个产品(实际上是一个链接,在添加该服务的时候安装程序会从Microsoft网站下载最新的安装程序)。下面将开始介绍WSUS的系统需求、安装配置以及使用。 3.1 WSUS 3.0概述与系统需求 WSUS是Windows Server Update Services的简称,是微软推出的网络化补丁分发方案。通过WSUS,可以集中下载所有的微软产品更新,使客户端可以从WSUS服务器快速、方便地下载所需要的更新,而不必连接到微软网站去下载,从而节省带宽、提高效率。WSUS服务器的特点如下: · WSUS是一款免费产品,由微软推出,产品的安全性、兼容性毋庸置疑。 · WSUS对计算机的要求不多,只要有足够的硬盘空间即可。 · WSUS支持Microsoft众多的操作系统、应用程序与服务器类产品,例如Windows XP、Windows Server 2003、Windows 7、Windows Server 2008、Office XP、Office 2003、Office 2007、SQL Server、Exchange等。 · WSUS服务器不需要加入到“域”,只要是网络内的一台服务器即可。 客户端采用WSUS服务器进行补丁的升级与管理工作,不需要对客户端做过多复杂的设置。如果是域中的工作站,可以用“组策略”统一设置。所有加入到域的计算机都可以自动从WSUS服务器升级。没有加入到域的计算机,可以通过导入注册表文件完成设置。 通常情况下,Windows操作系统从Microsoft Update站点或者其他合作站点下载Microsoft产品的补丁(见图3-1),然后手动安装。家庭用户或者中小企业用户大多使用这种方式。但是,如果网络规模较大,计算机数量较多,就会占用大量的网络带宽,从而影响其他的网络应用。另外,Windows补丁并不是一起发布的,可能每隔一段时间发布几次补丁,如果手动下载更新,就会占用管理员和用户很多时间。 图3-1 普通用户升级方式 WSUS是企业内部的升级服务器,它可以从Microsoft Update站点下载所有的Microsoft更新,而工作站则从WSUS服务器升级(见图3-2),这样不仅大大减少了带宽的占用,并且可以管理工作站使其“自动”升级。 图3-2 WSUS体系结构 如果企业网络规模比较大,采用一台WSUS服务器不能满足需要,可以采用“多级”WSUS的体系结构,即为不同网络配置“下游”WSUS服务器,从“上游”WSUS服务器下载更新,而“上游”WSUS服务器直接从Microsoft Update站点下载更新,如图3-3所示。 图3-3 多级WSUS体系结构 3.2 WSUS 3.0的安装与配置 WSUS 3.0 SP1安装程序可以从如下站点下载: http://www.microsoft.com/downloads/zh-cn/details.aspx?familyid=f87b4c5e-4161-48af-9ff8-a96993c688df&displaylang=zh-cn 在下载的时候,文件名为WSUSSetup_30SP1_x64.exe是64位版本,文件名为WSUSSetup_30SP1_x86.exe是32位版本,请根据服务器操作系统的产品选择合适的版本。 【说明】在做这个实验的时候,由于WSUS服务器需要从Microsoft的网站下载更新,所以,请保证Windows 2008虚拟机可以访问Internet,用户需要根据自己的网站情况,在虚拟机中设置IP地址及DNS。 3.2.1 安装WSUS服务器 WSUS服务器需要IIS与Microsoft .NET Framework 3.0的支持。如果要安装WSUS服务器,首先需要安装IIS,主要步骤如下: (1)在“服务器管理器”对话框中添加“功能”,在“选择功能”对话框中选中“.Net Framework 3.0功能”复选框,如图3-4所示。 图3-4 添加.Net Framework功能 (2)在安装完.Net Framework后,添加“角色”,安装IIS服务,至少要选择“静态内容”、ASP.NET、“6.0 管理兼容性”、“Windows 身份验证”服务,如图3-5所示。 图3-5 安装IIS及其相关角色 在安装完.NET Framework与IIS服务之后,就可以安装WSUS 3.0 SP1了,主要步骤如下: (1)运行WSUS 3.0 SP1的安装程序,进入WSUS 3.0 SP1的安装向导,如图3-6所示。 (2)在“安装模式选择”对话框中,选择“包括管理控制台的完整服务器安装”单选按钮,然后单击“下一步”按钮,如图3-7所示。 图3-6 WSUS安装向导 图3-7 安装模式选择 (3)在“许可协议”对话框中选择“我接受许可协议条款”单选按钮,然后单击“下一步”按钮,如图3-8所示。 (4)在“使用管理UI所需的组件”对话框中,单击“下一步”按钮,如图3-9所示。 (5)在“选择更新源”对话框中,选择保存WSUS更新文件的位置。在默认情况下,安装程序会自动选择一个空间最大的分区,并且保存在WSUS文件夹中,如图3-10所示。 (6)在“数据库选项”对话框中,选择保存WSUS 3.0数据库的文件位置,如图3-11所示。 图3-8 “许可协议”对话框 图3-9 使用管理UI所需的组件 图3-10 “选择更新源”对话框 图3-11 “数据库选项”对话框 (7)在“网站选择”对话框中,指定用于WSUS 3.0服务的网站。如果安装WSUS 3.0的服务器不用做其他用途,可以选择“使用现有IIS默认网站”单选按钮,这样,所有的WSUS客户端将使用TCP的80端口访问和更新补丁,如图3-12所示。如果安装WSUS 3.0的服务器的IIS默认网站有其他用途,可以选择“创建Windows Server Update Services 3.0 SP1网站”单选按钮,这样,所有WSUS客户端将使用TCP的8530端口访问和更新补丁,如图3-13所示。推荐选择后者,为WSUS服务器创建单独的管理网站。 图3-12 选择默认 图3-13 创建网站 (8)在“准备安装Windows Server Update Services 3.0 SP1”对话框中显示了安装信息,单击“下一步”按钮继续,如图3-14所示。 (9)在“正在完成Windows Server Update Services 3.0 SP1安装向导”对话框中,单击“完成”按钮,完成安装如图3-15所示。 图3-14 显示安装信息 图3-15 安装完成 3.2.2 WSUS 3.0的配置向导 在完成WSUS安装之后,首先会进入“Windows Server Update Services配置向导”对话框,接下来将介绍WSUS服务器端的配置,步骤如下: (1)在图3-15中单击“完成”按钮后弹出“Windows Server Update Services配置向导”对话框,“在您开始之前”页中单击“下一步”按钮,如图3-16所示。 (2)在“加入Microsoft Update改善计划”对话框中,根据需要选择是否加入Microsoft Update改善计划,如图3-17所示。 图3-16 配置向导 图3-17 加入Microsoft Update改善计划 不管是否加入“Microsoft Update改善计划”,都不影响WSUS 3.0的使用(本例中加入了Microsoft Update改善计划)。 (3)在“选择‘上游服务器’”对话框中,选择当前WSUS服务器从中同步的“上游”服务器。如果这是网络中的一台WSUS服务器,请选择“从Microsoft Update进行同步”单选按钮,如图3-18所示。如果网络中已经存在“上游WSUS服务器”,请选择“从其他Windows Server Update Services服务器进行同步”单选按钮,并且在“服务器名”文本框中输入上游WSUS服务器的IP地址或计算机名,在“端口号”文本框中输入上游WSUS服务器的端口号,如图3-19所示(本例中采用的是从Microsoft Update进行同步) 图3-18 从Microsoft Update进行同步 图3-19 从其他服务器同步 (4)在“指定代理服务器”对话框中,设置当前WSUS服务器访问Internet的方式。如果当前计算机需要使用代理服务器访问Microsoft Update(或者WSUS上游服务器),请选中“在同步时使用代理服务器”复选框并且正确设置代理服务器的参数;如果当前计算机不需要代理服务器,请保持默认值,如图3-20所示(本例中未采用代理服务器)。 (5)在“连接到上游服务器”对话框中,单击“开始连接”按钮,当前WSUS服务器将从Microsoft Update(选择图3-21所示的设置)或者上游服务器获得更新信息。 图3-20 指定代理服务器 图3-21 连接Microsoft Update 连接完成后,单击“下一步”按钮。 (6)在“选择‘语言’”对话框中,选择所需语言(默认情况下,选择当前服务器使用的语言,本例为“中文-简体”),如图3-22所示。如果当前WSUS服务器是从“上游”WSUS服务器更新,将显示“下载上游服务器支持的所有语言的更新”或“仅下载这些语言的更新(上游服务器只支持标有星号的语言)”;如果当前WSUS服务器是从“Microsoft Update更新”,将显示“下载包括新语言在内的所有语言的更新”或“仅下载这些语言的更新”。通常情况下,只让WSUS下载与WSUS服务器相同语言的更新即可。 (7)在“选择‘产品’”对话框中,选择当前WSUS服务器将要下载的产品更新。对于管理员来说,可以根据自己所管理的网络中安装的Microsoft操作系统、Server、应用程序等进行选择。在本例中,因为是实验的管理,只选择Virtual PC,如图3-23所示。 图3-22 选择语言 图3-23 选择产品 【说明】在安装完WSUS之后,可以随时根据需要增加或减少选择更新的Microsoft产品。 (8)在“选择‘分类’”对话框中,指定要同步的更新分类,如图3-24所示。 (9)在“设置同步计划”对话框中,选择“自动同步”单选按钮,设定当前WSUS服务器与上游WSUS服务器同步的方式与同步的时间。通常情况下,请选择网络空闲的时间,例如每天的午夜,如图3-25所示。 图3-24 选择产品分类 图3-25 设定同步时间 (10)在“完成”对话框中,选中“启动Windows Server Update Services管理控制台”复选框,取消选中“开始初始同步”复选框,如图3-26所示。 (11)在“后续步骤”对话框中,单击“完成”按钮,完成WSUS的安装,如图3-27所示。 图3-26 “完成”对话框 图3-27 完成WSUS的安装 服务器端的WSUS升级服务器的安装与配置已基本完成,下面将介绍客户端的安装与配置。 3.2.3 配置WSUS服务器 为了让WSUS服务器“完全自动”从Microsoft的更新服务器获得更新并自动审批,或者想要修改WSUS的更新配置,可以按照如下的步骤进行: (1)从“管理工具”中执行Microsoft Windows Server Update Services 3.0 SP1,进入WSUS管理控制台,在左侧的窗格中选择“选项”,在右侧可以对WSUS服务器进行配置。单击“自动审批”链接,如图3-28所示。 图3-28 自动审批 (2)在“自动审批”对话框中,单击“安全更新程序、关键更新程序”链接(见图3-29),在弹出的“选择‘更新分类’”对话框中选择“所有分类”,如图3-30所示。 图3-29 修改自动审批 图3-30 选择所有分类 设置之后,单击“确定”按钮,返回到WSUS管理控制台。这样,以后当WSUS服务器上游“更新服务器”或“Microsoft更新服务器”有更新时,WSUS服务器将完成“自动审批”的工作。 (3)返回到WSUS管理控制台后,单击“更新文件和语言”链接,如图3-31所示。 图3-31 更新文件和语言 (4)打开“更新文件和语言”对话框,在“更新文件”选项卡中选中“下载快速安装文件”复选框,如图3-32所示。如果要修改更新语言,可以在“更新语言”选项卡中修改,如图3-33所示。 图3-32 下载快速安装文件 图3-33 更新语言 (5)返回到WSUS管理控制台后,单击“产品和分类”链接,打开“产品和分类”对话框,可以在“产品”选项卡中指定要同步更新的产品,如图3-34所示,在“分类”选项卡中指定要同步的更新分类,如图3-35所示。 图3-34 更新产品 图3-35 更新分类 (6)设置之后,在左侧任务窗格中单击服务器计算机名,在右侧单击“立即同步”链接,WSUS服务器将开始从Microsoft更新服务器检索可用的更新并自动下载,如图3-36所示。在“同步状态”中显示了同步状态,在“下载状态”中显示了当前需要下载的文件更新数量、已下载更新大小、一共需要下载的更新大小,同时在“连接”中显示了当前WSUS服务器的更新端口、服务器版本等。 本文转自 dengaosky 51CTO博客,原文链接:http://blog.51cto.com/dengaosky/1861557,如需转载请自行联系原作者

优秀的个人博客,低调大师

App-V软件排序参考之(三):DSC方法介绍与如何排序辅助应用程序

序 App-V 4.5版有一个新功能,DSC(Dynamic Suite Composition),中文翻译为动态套件合成,它提供了一种新方法来集成在各虚拟应用程序之间共享的依赖关系、中间件和插件。一般的应用程序,在Secquencer上只要开始监视,安装应用程序,停止监视,转后我们就可以捕获到应用程序,但是辅助应用程序的排序有一个特别的地方,我发现并不是任何的辅助应用程序,安装完成后,系统都会捕获到东西出来的,有时候是遇到这样的尴尬情况,例如下图所示,不能继续下一步。 而实际上这是可以理解的,因为它本身很可能就是依赖于其他软件的小插件,而不是一个真正的软件。这就需要在停止监视前,打开主要应用程序,或者自己创造一个应用程序出来,原因下面会介绍。 什么是DSC(Dynamic Suite Composition) 首先看看什么是DSC, 以下一段摘自微软Technet杂志与Technet知识库,假如已经了解过,这两段可以忽略。 例如,假设您有五个 Web 应用程序,它们需要同一 Java 版本。在 App-V 4.1 中,您必须将此相同的 Java 版本添加到五个单独软件包中的每一个。假设 Java 版本需要一个补丁。管理员稍后必须为五个不同的软件包提供补丁。如使用 DSC,Java 只需打包一次,即可配置为能供所有五个 Web 应用程序使用的软件包。因此,修补 Java 只需要管理员为 Java 软件包提供一次补丁。 在对依赖于插件(如 ActiveX 控件)的应用程序或依赖于中间件(如 OLE DB 或 Java Runtime Environment (JRE))的应用程序进行排序时,可以使用动态套件合成功能。如果需要对每个使用这些相关组件的应用程序(包括组件)进行排序,则对这些组件执行更新时要求对所有主要应用程序重新排序。通过对不含这些组件的主要应用程序进行排序,然后对作为辅助程序包的中间件或插件进行排序,只需更新辅助程序包。此方法的一个优点是可以缩小主要程序包的尺寸。另一个优点是使您可以更好地控制对辅助应用程序的访问权限。主要程序包可以具有多个辅助程序包。但是,仅支持一个级别的依存关系,因此您不能将一个辅助程序包定义为依赖于另一个辅助程序包。此外,辅助应用程序只能是中间件或插件,且不能是另一个完整的软件产品。 为什么要打开应用程序,或者自己创建一个应用程序 辅助程序包是除主程序包外的第二个包. 根据我的观察,一方面,假如在Sequencer中至少要捕获到一个应用程序,才能完成序列化全过程, 而另一方面,当你需要将这个包导入管理控制台的时候,只有应用程序才有权限控制的功能,从而控制对辅助应用程序的访问者权限.所以必须至少有一个应用程序能够被捕获,那么你可以选择在主应用程序中打开一个应用程序,或者直接创建一个应用程序,比较简便的方法就是打开一个记事本再关闭, 那么至少能捕获到一个程序. 下面以Office2007的一个934K的很小的插件(Microsoft Save as PDF or XPS)为例,看看这样的小插件是怎样排序的, 你可以在停止监视前打开一个office任何一个程序查看,接着就至少捕获到一个应用程序了(建议不要打开所有应用程序来查看,不然可能会捕获到很多应用程序,而捕捉更多的应用程序对我们都来是没有大的作用的), 或者我们就直接打开一个记事本再关闭,因为后者具有普遍性,所以下面用打开我们”万能”的记事本来作一个介绍,这里介绍的是在App-V(SoftGrid4.5) 中成功排序辅助应用程序的一个方法,这个不是唯一的方法,也可能你需要会根据你自己实际的环境进行必要的修改。假如有哪里说得不对,请大家指正,谢谢。 排序实验 1. 在排序服务器上先真实地安装Office 2007,接着选了Microsoft Save as PDF or XPS 这个插件作为例子进行排序 2. 像往常一样,打开Application Virtualization Sequencer,新建一个包,包名称offadd, 路径选择为Q:\offadd并选择开始监视 3.点选这个小插件安装,一闪很快就安装完了 4. 假如这时候停止监视,后面一步将捕获不到任何应用程序,无法继续下一步,这里的小技巧是,在Sequencer上打开记事本,接着将其关闭,有什么奥妙,看看下一步。 5. 我们可以捕获到了一个记事本应用程序,并成功地完成序列化过程。排序步骤与普通排序一样,这里不在赘述。 6. 我们在App-V server上将这个记事本程序导如,创建的名字为offadd 7. 我们不需要选任何的快截方式,我们无需选择, 因为我们的目的不在得到这个记事本,而是成功排序,醉翁之意不在酒呵呵 8. 导入成功了,可以看到offadd这一个应用程序 9. 我们打开这个插件的.osd文件,找出CODEBASE这一行 <CODEBASE HREF="RTSP://gztemp:1000/offadd/offadd.sft" GUID="8BB5013F-B364-45B9-A3FF-01E2122BE3A0" PARAMETERS="" FILENAME="%CSIDL_SYSTEM%\notepad.exe" SYSGUARDFILE="offadd\osguard.cp" SIZE="2044844"/> 10. 将这一行放到office你需要使用到这个插件的.osd文件中,这里以word为例 在紧挨 </VIRTUALENV> 标记前的 <VIRTUALENV> 部分结尾处的 </ENVLIST> 标记关闭后,插入 <DEPENDENCIES> 标记。 将CODEBASE 这一行粘贴到刚创建的 <DEPENDENCIES> 标记后。假如这个包为必需的程序包(意味着在启动主要程序包之前必须先启动该程序包),请在 CODEBASE 标记内添加 MANDATORY=”TRUE” 属性。如果该程序包不是必需的程序包,则可以忽略该属性,这个例子,加不加都没关系,因为不是必须的,这里我加上了。 保留CODEBASE这一行的3个必选属性 必选: HERF: GUID: SYSGUARDFILE: 可选: MANDATORY=”TRUE” <DEPENDENCIES> <CODEBASE HREF="RTSP://gztemp:1000/offadd/offadd.sft" GUID="8BB5013F-B364-45B9-A3FF-01E2122BE3A0" SYSGUARDFILE="offadd\osguard.cp" MANDATORY="TRUE"/> </DEPENDENCIES> 11. 完成了,我们看看插件排序前后的效果 本文转自 VirtualTom 51CTO博客,原文链接:http://blog.51cto.com/virtualtom/276809,如需转载请自行联系原作者

优秀的个人博客,低调大师

HTAP数据库 PostgreSQL 场景与性能测试之 30 - (OLTP) 秒杀 - 高并发单点更新

标签 PostgreSQL , HTAP , OLTP , OLAP , 场景与性能测试 背景 PostgreSQL是一个历史悠久的数据库,历史可以追溯到1973年,最早由2014计算机图灵奖得主,关系数据库的鼻祖Michael_Stonebraker操刀设计,PostgreSQL具备与Oracle类似的功能、性能、架构以及稳定性。 PostgreSQL社区的贡献者众多,来自全球各个行业,历经数年,PostgreSQL 每年发布一个大版本,以持久的生命力和稳定性著称。 2017年10月,PostgreSQL 推出10 版本,携带诸多惊天特性,目标是胜任OLAP和OLTP的HTAP混合场景的需求: 《最受开发者欢迎的HTAP数据库PostgreSQL 10特性》 1、多核并行增强 2、fdw 聚合下推 3、逻辑订阅 4、分区 5、金融级多副本 6、jso

优秀的个人博客,低调大师

Hadoop HDFS概念学习系列之shell命令使用HDFS的一些其他命令(十九)

其他相关命令还包括以下这些: NameNode -format: 格式化DFS文件系统 secondaryNameNode: 运行DFS的SecndaryNameNode进程 NameNode : 运行DFS的NameNode进程 DataNode : 运行DFS的DataNode进程 dfsadmin : 运行DFS的管理客户端 mradmin : 运行MapReduce的管理客户端 fsck : 运行HDFS的检测进程 fs : 运行一个文件系统工具 balancer : 运行一个文件系统平衡进程 jobtracker : 运行一个JobTracker进程 pipes : 运行一个Pipes任务 tasktracker : 运行一个TaskTracker进程 job:管理运行中的MapReducer任务 queue : 获得运行中的MapReduce队列的信息 version: 打印版本号 jar <jar>:运行一个JAR文件 daemonlog:读取/设置守护进程的日志记录级别 相信大家已经对这些命令中的一部分很熟悉了。 比如在命令行终端中,jar是用来运行java程序的,version命令可以查看Hadoop的当前版本,或者在安装时必须运行的NameNode -format命令。在这一小节,我们介绍的是与HDFS有关的命令,其中与HDFS相关的命令有如下几个:secondaryNameNode、NameNode、DataNode、dfsadmin、fsck、fs、balancer、distcp和archieves。 它们的统一格式如下: bin/hadoop command [genericOptions] [commandOptions] 其中只有dfsadmin、fsck、fs具有选项genericOptions及commandOptions,其余的命令只有commandOptions。下面先介绍只有commandOptions选项的命令。 distcp。Distcp命令用于Distcp(即Dist分布式,Cp复制)分布式复制。用于在集群内部及集群之间复制数据。 archives。archives命令是Hadoop定义的档案格式。archive对应一个文件系统,它的扩展名是.har。包含元数据及数据文件。 DataNode。DataNode命令要简单一些,可以使用如下命令将Hadoop回滚到前一个版本。如下: hadoop DataNode [-rollback] NameNode。nameNode命令稍微复杂一些,它的用法如下: hadoop nameNode [-format] //格式化NameNode [-upgrade] //在Hadoop升级后,应该使用这个命令启动NameNode [-rollback] //使用NameNode回滚前一个版本 [-finalize] //删除文件系统的前一个状态,这会导致系统不能回滚到前一个zhua [-importCheckpoint] // 复制备份checkpoint的状态到当前checkpoint secondaryNameNode。secondaryNameNode的命令用法如下: hadoop secondaryNameNode [-checkpoint [force]] //当editlog超过规定大小(默认64MB),启动检查secondaryNameNode的checkpoint过程;如果启用force选项,则强制执行checkpoint过程。 [-geteditsize] //在终端上显示editlog文件的大小 balancer。balancer命令解释中所说,用于分担负载。很多原因都会造成数据在集群内分布不均衡,一般来说,当集群中添加新的DataNode时,可以使用这个命令来进行负载均衡。其用法如下: hadoop balancer 接下来的dfsadmin、fsck、fs这三个命令有一个共同的选项genericOptions,这个选择一般与系统相关,其用法如下: -conf <configuration> //指定配置文件 -D <property=value> //指定某属性的属性值 -fs <local|namenode:port> //指定DataNode及其端口 dfsadmin。在dfsadmin命令中可以执行一些类似Windows中高级用户才能执行的命令,比如升级、回滚等。其用法如下: hadoop dfsadmin [GENERIC_OPTIONS] [-report] //在终端上显示文件系统的基本信息 [-safemode enter | leave | get | wait] //Hadoop的安全模式及相关维护;在安全模式中系统是只读的,数据块也不可以删除或复制 [-refreshNodes] [-finalizeUpgrade] //重新读取hosts和exclude文件,将新的被允许加入到集群中的DataNode连入,同时断开与那些从集群出去的DataNode的连接。 [-upgradeProgress status | details | force] //获得当前系统的升级状态、细节,或者强制执行升级过程 [-metasave filename] //保存NameNode的主要数据结构到指定目录下 [-setQuota <qutoa> <dirname> ... <dirname>] //为每个目录设定配额 [-clrQuota <dirname> ... <dirname>] //清除这些目录的配额 [-setSpaceQuota <qutoa> <dirname> ... <dirname>]//为每个目录设置配额空间 [-clrSpaceQuota <dirname> ... <dirname>] //清除这些目录的配额空间 [-help [cmd]] // 显示命令的帮助信息 fsck。fsck在HDFS中被用来检查系统中的不一致情况。比如某文件只有目录,但数据块已经丢失或副本数目不足。与Linux不同,这个命令只用于检测,不能进行修复。其使用方法如下: hadoop fsck [GENERIC_OPTIONS] <path> [-move | -delete | -openforwrite] [-files [-blocks [-locations | -racks]]] // <path> 检查的起始目录 // -move 移动受损文件/lost+found // -delete 删除受损文件 // -openforwrite 在终端上显示被写打开的文件 // -flies 在终端上显示正被检查的文件 // -blocks 在终端上显示块信息 // -location 在终端上显示每个块的位置 // -rack 显示DataNode的网络拓扑结构图 fs。fs可以说是HDFS最常用的命令,这是一个高度类似Linux文件系统的命令集。你可以使用这些命令查看HDFS上的目录结构文件、上传和下载文件、创建文件夹、复制文件等。其使用方法如下: hadoop fs [genericOptions] [-ls <path>] //显示目标路径当前目录下的所有文件 [-lsr <path>] //递归显示目标路径下的所有目录及文件(深度优先) [-du <path>] //以字节为单位显示目录中所有文件的大小,或该文件的大小(如果目标为文件) [-dus <path>] //以字节为单位显示目标文件大小(用于查看文件夹大小) [-count [-q] <path>] //将目录的大小、包含文件(包括文件)个数的信息输出到屏幕(标准stdout) [-mv <src> <dst>] //把文件或目录移动到目标路径,这个命令允许同时移动多个文件,如果复制多个文件,目标路径必须是文件夹 [-cp <src> <dst>] //复制文件或目录到目标路径,这个命令运行同时复制多个文件,如果复制多个文件,目标路径必须是文件夹 [-rm [-skipTrash] <path>] //删除文件,这个命令不能删除文件夹 [-rmr [-skipTrash] <path>] //删除文件夹及其下的所有文件 [-expunge] [-put <localsrc> ... <dst>] //从本地文件系统上传文件到HDFS中 [-copyFromLocal <localsrc> ... <dst>] //与put相同 [-moveFromLocal <localsrc> ... <dst>] //与put相同,但是文件上传之后会从本地文件系统中移除 [-get [-ignoreCrc] [-crc] <src> <localdst>] //复制文件到本地文件系统。这个命令可以选择是否忽视校验和,忽视校验和下载主要用于挽救那些已经发生错误的文件。 [-getmerge <src> <localdst> [addn1]] //将源目录中的所有文件进行排序并写入目标文件中,文件之间以换行符分隔。 [-cat <src>] //在终端显示(标准输出stdout) 文件中的内容,类似Linux系统中的Cat。 [-text <src>] [-copyToLocal [-ignoreCrc] [-crc] <src> <localdst>] //与get相同 [-moveToLocal [-crc] <src> <localdst>] [-mkdir <path>]//创建文件夹 [-setrep [-R] [-W] <rep> <path/file>] //改变一个文件的副本个数。参数-R可以递归地对该目录下的所有文件做统一操作 [-touchz <path>] //类似Linux中的touch ,创建一个空文件 [-test -[ezd] <path>] //将源文件输出为文本格式显示到终端上,通过这个命令可以查看TextRecordInputStream(SequenceFile等)或Zip文件。 [-stat [format] <path>] //以指定格式返回路径的信息 [-tail [-f] <file>] //在终端上显示(标准输出stdout)文件的最后1kb内容。-f选项的行为与Linux中一致,会持续检测新添加到文件中的内容,这在查看日志文件时会显得非常方便 [-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH ... ]//改变文件的权限,只有文件的所有者或是超级用户才能使用这个命令。-R可以递归地改变文件夹内的所有文件的权限 [-chown [-R] [OWNER] [:[GROUP]] PATH ...] //改变文件的拥有者,-R可以递归地改变文件夹内所有文件的拥有者。同样,这个命令只有超级用户才能使用。 [-chgrp [-R] GROUP PATH ...] //改变文件所属的组,-R可以递归地改变文件夹内所有文件所属的 [help [cmd]] // 这是命令的帮助信息 在这些命令中,参数<path>的完整格式是 hdfs://NameNodeIP:port/,比如你的NameNode地址是192.168.0.1,端口是9000。那么,如果想访问HDFS上路径为/user/root/hello的文件,则需要输入的地址是hdfs://192.168.0.1:9000/user/root/hello。在Hadoop中,如果参数<path>没有NameNodeIP,那么会默认按照core-site.xml中属性fs.default.name的设置,附加"/user/你的用户名"作为路径,这是为了方便使用以及对不同用户进行区分。 本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/5143531.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

hadoop之 hadoop 2.2.X 弃用的配置属性名称及其替换名称对照表

Deprecated Properties 弃用属性 The following table lists the configuration property names that are deprecated in this version of Hadoop, and their replacements. 下表列出了在这个版本的Hadoop中被弃用的配置属性名称及其替换。 说明: 基于Hadoop 2.7.4 Deprecated property name 已经被遗弃属性的名称 New property name 新的属性名称 create.empty.dir.if.nonexist mapreduce.jobcontrol.createdir.ifnotexist dfs.access.time.precision dfs.namenode.accesstime.precision dfs.backup.address dfs.namenode.backup.address dfs.backup.http.address dfs.namenode.backup.http-address dfs.balance.bandwidthPerSec dfs.datanode.balance.bandwidthPerSec dfs.block.size dfs.blocksize dfs.data.dir dfs.datanode.data.dir dfs.datanode.max.xcievers dfs.datanode.max.transfer.threads dfs.df.interval fs.df.interval dfs.federation.nameservice.id dfs.nameservice.id dfs.federation.nameservices dfs.nameservices dfs.http.address dfs.namenode.http-address dfs.https.address dfs.namenode.https-address dfs.https.client.keystore.resource dfs.client.https.keystore.resource dfs.https.need.client.auth dfs.client.https.need-auth dfs.max.objects dfs.namenode.max.objects dfs.max-repl-streams dfs.namenode.replication.max-streams dfs.name.dir dfs.namenode.name.dir dfs.name.dir.restore dfs.namenode.name.dir.restore dfs.name.edits.dir dfs.namenode.edits.dir dfs.permissions dfs.permissions.enabled dfs.permissions.supergroup dfs.permissions.superusergroup dfs.read.prefetch.size dfs.client.read.prefetch.size dfs.replication.considerLoad dfs.namenode.replication.considerLoad dfs.replication.interval dfs.namenode.replication.interval dfs.replication.min dfs.namenode.replication.min dfs.replication.pending.timeout.sec dfs.namenode.replication.pending.timeout-sec dfs.safemode.extension dfs.namenode.safemode.extension dfs.safemode.threshold.pct dfs.namenode.safemode.threshold-pct dfs.secondary.http.address dfs.namenode.secondary.http-address dfs.socket.timeout dfs.client.socket-timeout dfs.umaskmode fs.permissions.umask-mode dfs.write.packet.size dfs.client-write-packet-size fs.checkpoint.dir dfs.namenode.checkpoint.dir fs.checkpoint.edits.dir dfs.namenode.checkpoint.edits.dir fs.checkpoint.period dfs.namenode.checkpoint.period fs.default.name fs.defaultFS hadoop.configured.node.mapping net.topology.configured.node.mapping hadoop.job.history.location mapreduce.jobtracker.jobhistory.location hadoop.native.lib io.native.lib.available hadoop.net.static.resolutions mapreduce.tasktracker.net.static.resolutions hadoop.pipes.command-file.keep mapreduce.pipes.commandfile.preserve hadoop.pipes.executable.interpretor mapreduce.pipes.executable.interpretor hadoop.pipes.executable mapreduce.pipes.executable hadoop.pipes.java.mapper mapreduce.pipes.isjavamapper hadoop.pipes.java.recordreader mapreduce.pipes.isjavarecordreader hadoop.pipes.java.recordwriter mapreduce.pipes.isjavarecordwriter hadoop.pipes.java.reducer mapreduce.pipes.isjavareducer hadoop.pipes.partitioner mapreduce.pipes.partitioner heartbeat.recheck.interval dfs.namenode.heartbeat.recheck-interval io.bytes.per.checksum dfs.bytes-per-checksum io.sort.factor mapreduce.task.io.sort.factor io.sort.mb mapreduce.task.io.sort.mb io.sort.spill.percent mapreduce.map.sort.spill.percent jobclient.completion.poll.interval mapreduce.client.completion.pollinterval jobclient.output.filter mapreduce.client.output.filter jobclient.progress.monitor.poll.interval mapreduce.client.progressmonitor.pollinterval job.end.notification.url mapreduce.job.end-notification.url job.end.retry.attempts mapreduce.job.end-notification.retry.attempts job.end.retry.interval mapreduce.job.end-notification.retry.interval job.local.dir mapreduce.job.local.dir keep.failed.task.files mapreduce.task.files.preserve.failedtasks keep.task.files.pattern mapreduce.task.files.preserve.filepattern key.value.separator.in.input.line mapreduce.input.keyvaluelinerecordreader.key.value.separator local.cache.size mapreduce.tasktracker.cache.local.size map.input.file mapreduce.map.input.file map.input.length mapreduce.map.input.length map.input.start mapreduce.map.input.start map.output.key.field.separator mapreduce.map.output.key.field.separator map.output.key.value.fields.spec mapreduce.fieldsel.map.output.key.value.fields.spec mapred.acls.enabled mapreduce.cluster.acls.enabled mapred.binary.partitioner.left.offset mapreduce.partition.binarypartitioner.left.offset mapred.binary.partitioner.right.offset mapreduce.partition.binarypartitioner.right.offset mapred.cache.archives mapreduce.job.cache.archives mapred.cache.archives.timestamps mapreduce.job.cache.archives.timestamps mapred.cache.files mapreduce.job.cache.files mapred.cache.files.timestamps mapreduce.job.cache.files.timestamps mapred.cache.localArchives mapreduce.job.cache.local.archives mapred.cache.localFiles mapreduce.job.cache.local.files mapred.child.tmp mapreduce.task.tmp.dir mapred.cluster.average.blacklist.threshold mapreduce.jobtracker.blacklist.average.threshold mapred.cluster.map.memory.mb mapreduce.cluster.mapmemory.mb mapred.cluster.max.map.memory.mb mapreduce.jobtracker.maxmapmemory.mb mapred.cluster.max.reduce.memory.mb mapreduce.jobtracker.maxreducememory.mb mapred.cluster.reduce.memory.mb mapreduce.cluster.reducememory.mb mapred.committer.job.setup.cleanup.needed mapreduce.job.committer.setup.cleanup.needed mapred.compress.map.output mapreduce.map.output.compress mapred.data.field.separator mapreduce.fieldsel.data.field.separator mapred.debug.out.lines mapreduce.task.debugout.lines mapred.healthChecker.interval mapreduce.tasktracker.healthchecker.interval mapred.healthChecker.script.args mapreduce.tasktracker.healthchecker.script.args mapred.healthChecker.script.path mapreduce.tasktracker.healthchecker.script.path mapred.healthChecker.script.timeout mapreduce.tasktracker.healthchecker.script.timeout mapred.heartbeats.in.second mapreduce.jobtracker.heartbeats.in.second mapred.hosts.exclude mapreduce.jobtracker.hosts.exclude.filename mapred.hosts mapreduce.jobtracker.hosts.filename mapred.inmem.merge.threshold mapreduce.reduce.merge.inmem.threshold mapred.input.dir.formats mapreduce.input.multipleinputs.dir.formats mapred.input.dir.mappers mapreduce.input.multipleinputs.dir.mappers mapred.input.dir mapreduce.input.fileinputformat.inputdir mapred.input.pathFilter.class mapreduce.input.pathFilter.class mapred.jar mapreduce.job.jar mapred.job.classpath.archives mapreduce.job.classpath.archives mapred.job.classpath.files mapreduce.job.classpath.files mapred.job.id mapreduce.job.id mapred.jobinit.threads mapreduce.jobtracker.jobinit.threads mapred.job.map.memory.mb mapreduce.map.memory.mb mapred.job.name mapreduce.job.name mapred.job.priority mapreduce.job.priority mapred.job.queue.name mapreduce.job.queuename mapred.job.reduce.input.buffer.percent mapreduce.reduce.input.buffer.percent mapred.job.reduce.markreset.buffer.percent mapreduce.reduce.markreset.buffer.percent mapred.job.reduce.memory.mb mapreduce.reduce.memory.mb mapred.job.reduce.total.mem.bytes mapreduce.reduce.memory.totalbytes mapred.job.reuse.jvm.num.tasks mapreduce.job.jvm.numtasks mapred.job.shuffle.input.buffer.percent mapreduce.reduce.shuffle.input.buffer.percent mapred.job.shuffle.merge.percent mapreduce.reduce.shuffle.merge.percent mapred.job.tracker.handler.count mapreduce.jobtracker.handler.count mapred.job.tracker.history.completed.location mapreduce.jobtracker.jobhistory.completed.location mapred.job.tracker.http.address mapreduce.jobtracker.http.address mapred.jobtracker.instrumentation mapreduce.jobtracker.instrumentation mapred.jobtracker.job.history.block.size mapreduce.jobtracker.jobhistory.block.size mapred.job.tracker.jobhistory.lru.cache.size mapreduce.jobtracker.jobhistory.lru.cache.size mapred.job.tracker mapreduce.jobtracker.address mapred.jobtracker.maxtasks.per.job mapreduce.jobtracker.maxtasks.perjob mapred.job.tracker.persist.jobstatus.active mapreduce.jobtracker.persist.jobstatus.active mapred.job.tracker.persist.jobstatus.dir mapreduce.jobtracker.persist.jobstatus.dir mapred.job.tracker.persist.jobstatus.hours mapreduce.jobtracker.persist.jobstatus.hours mapred.jobtracker.restart.recover mapreduce.jobtracker.restart.recover mapred.job.tracker.retiredjobs.cache.size mapreduce.jobtracker.retiredjobs.cache.size mapred.job.tracker.retire.jobs mapreduce.jobtracker.retirejobs mapred.jobtracker.taskalloc.capacitypad mapreduce.jobtracker.taskscheduler.taskalloc.capacitypad mapred.jobtracker.taskScheduler mapreduce.jobtracker.taskscheduler mapred.jobtracker.taskScheduler.maxRunningTasksPerJob mapreduce.jobtracker.taskscheduler.maxrunningtasks.perjob mapred.join.expr mapreduce.join.expr mapred.join.keycomparator mapreduce.join.keycomparator mapred.lazy.output.format mapreduce.output.lazyoutputformat.outputformat mapred.line.input.format.linespermap mapreduce.input.lineinputformat.linespermap mapred.linerecordreader.maxlength mapreduce.input.linerecordreader.line.maxlength mapred.local.dir mapreduce.cluster.local.dir mapred.local.dir.minspacekill mapreduce.tasktracker.local.dir.minspacekill mapred.local.dir.minspacestart mapreduce.tasktracker.local.dir.minspacestart mapred.map.child.env mapreduce.map.env mapred.map.child.java.opts mapreduce.map.java.opts mapred.map.child.log.level mapreduce.map.log.level mapred.map.max.attempts mapreduce.map.maxattempts mapred.map.output.compression.codec mapreduce.map.output.compress.codec mapred.mapoutput.key.class mapreduce.map.output.key.class mapred.mapoutput.value.class mapreduce.map.output.value.class mapred.mapper.regex.group mapreduce.mapper.regexmapper..group mapred.mapper.regex mapreduce.mapper.regex mapred.map.task.debug.script mapreduce.map.debug.script mapred.map.tasks mapreduce.job.maps mapred.map.tasks.speculative.execution mapreduce.map.speculative mapred.max.map.failures.percent mapreduce.map.failures.maxpercent mapred.max.reduce.failures.percent mapreduce.reduce.failures.maxpercent mapred.max.split.size mapreduce.input.fileinputformat.split.maxsize mapred.max.tracker.blacklists mapreduce.jobtracker.tasktracker.maxblacklists mapred.max.tracker.failures mapreduce.job.maxtaskfailures.per.tracker mapred.merge.recordsBeforeProgress mapreduce.task.merge.progress.records mapred.min.split.size mapreduce.input.fileinputformat.split.minsize mapred.min.split.size.per.node mapreduce.input.fileinputformat.split.minsize.per.node mapred.min.split.size.per.rack mapreduce.input.fileinputformat.split.minsize.per.rack mapred.output.compression.codec mapreduce.output.fileoutputformat.compress.codec mapred.output.compression.type mapreduce.output.fileoutputformat.compress.type mapred.output.compress mapreduce.output.fileoutputformat.compress mapred.output.dir mapreduce.output.fileoutputformat.outputdir mapred.output.key.class mapreduce.job.output.key.class mapred.output.key.comparator.class mapreduce.job.output.key.comparator.class mapred.output.value.class mapreduce.job.output.value.class mapred.output.value.groupfn.class mapreduce.job.output.group.comparator.class mapred.permissions.supergroup mapreduce.cluster.permissions.supergroup mapred.pipes.user.inputformat mapreduce.pipes.inputformat mapred.reduce.child.env mapreduce.reduce.env mapred.reduce.child.java.opts mapreduce.reduce.java.opts mapred.reduce.child.log.level mapreduce.reduce.log.level mapred.reduce.max.attempts mapreduce.reduce.maxattempts mapred.reduce.parallel.copies mapreduce.reduce.shuffle.parallelcopies mapred.reduce.slowstart.completed.maps mapreduce.job.reduce.slowstart.completedmaps mapred.reduce.task.debug.script mapreduce.reduce.debug.script mapred.reduce.tasks mapreduce.job.reduces mapred.reduce.tasks.speculative.execution mapreduce.reduce.speculative mapred.seqbinary.output.key.class mapreduce.output.seqbinaryoutputformat.key.class mapred.seqbinary.output.value.class mapreduce.output.seqbinaryoutputformat.value.class mapred.shuffle.connect.timeout mapreduce.reduce.shuffle.connect.timeout mapred.shuffle.read.timeout mapreduce.reduce.shuffle.read.timeout mapred.skip.attempts.to.start.skipping mapreduce.task.skip.start.attempts mapred.skip.map.auto.incr.proc.count mapreduce.map.skip.proc-count.auto-incr mapred.skip.map.max.skip.records mapreduce.map.skip.maxrecords mapred.skip.on mapreduce.job.skiprecords mapred.skip.out.dir mapreduce.job.skip.outdir mapred.skip.reduce.auto.incr.proc.count mapreduce.reduce.skip.proc-count.auto-incr mapred.skip.reduce.max.skip.groups mapreduce.reduce.skip.maxgroups mapred.speculative.execution.slowNodeThreshold mapreduce.job.speculative.slownodethreshold mapred.speculative.execution.slowTaskThreshold mapreduce.job.speculative.slowtaskthreshold mapred.speculative.execution.speculativeCap mapreduce.job.speculative.speculativecap mapred.submit.replication mapreduce.client.submit.file.replication mapred.system.dir mapreduce.jobtracker.system.dir mapred.task.cache.levels mapreduce.jobtracker.taskcache.levels mapred.task.id mapreduce.task.attempt.id mapred.task.is.map mapreduce.task.ismap mapred.task.partition mapreduce.task.partition mapred.task.profile mapreduce.task.profile mapred.task.profile.maps mapreduce.task.profile.maps mapred.task.profile.params mapreduce.task.profile.params mapred.task.profile.reduces mapreduce.task.profile.reduces mapred.task.timeout mapreduce.task.timeout mapred.tasktracker.dns.interface mapreduce.tasktracker.dns.interface mapred.tasktracker.dns.nameserver mapreduce.tasktracker.dns.nameserver mapred.tasktracker.events.batchsize mapreduce.tasktracker.events.batchsize mapred.tasktracker.expiry.interval mapreduce.jobtracker.expire.trackers.interval mapred.task.tracker.http.address mapreduce.tasktracker.http.address mapred.tasktracker.indexcache.mb mapreduce.tasktracker.indexcache.mb mapred.tasktracker.instrumentation mapreduce.tasktracker.instrumentation mapred.tasktracker.map.tasks.maximum mapreduce.tasktracker.map.tasks.maximum mapred.tasktracker.memory_calculator_plugin mapreduce.tasktracker.resourcecalculatorplugin mapred.tasktracker.memorycalculatorplugin mapreduce.tasktracker.resourcecalculatorplugin mapred.tasktracker.reduce.tasks.maximum mapreduce.tasktracker.reduce.tasks.maximum mapred.task.tracker.report.address mapreduce.tasktracker.report.address mapred.task.tracker.task-controller mapreduce.tasktracker.taskcontroller mapred.tasktracker.taskmemorymanager.monitoring-interval mapreduce.tasktracker.taskmemorymanager.monitoringinterval mapred.tasktracker.tasks.sleeptime-before-sigkill mapreduce.tasktracker.tasks.sleeptimebeforesigkill mapred.temp.dir mapreduce.cluster.temp.dir mapred.text.key.comparator.options mapreduce.partition.keycomparator.options mapred.text.key.partitioner.options mapreduce.partition.keypartitioner.options mapred.textoutputformat.separator mapreduce.output.textoutputformat.separator mapred.tip.id mapreduce.task.id mapreduce.combine.class mapreduce.job.combine.class mapreduce.inputformat.class mapreduce.job.inputformat.class mapreduce.job.counters.limit mapreduce.job.counters.max mapreduce.jobtracker.permissions.supergroup mapreduce.cluster.permissions.supergroup mapreduce.map.class mapreduce.job.map.class mapreduce.outputformat.class mapreduce.job.outputformat.class mapreduce.partitioner.class mapreduce.job.partitioner.class mapreduce.reduce.class mapreduce.job.reduce.class mapred.used.genericoptionsparser mapreduce.client.genericoptionsparser.used mapred.userlog.limit.kb mapreduce.task.userlog.limit.kb mapred.userlog.retain.hours mapreduce.job.userlog.retain.hours mapred.working.dir mapreduce.job.working.dir mapred.work.output.dir mapreduce.task.output.dir min.num.spills.for.combine mapreduce.map.combine.minspills reduce.output.key.value.fields.spec mapreduce.fieldsel.reduce.output.key.value.fields.spec security.job.submission.protocol.acl security.job.client.protocol.acl security.task.umbilical.protocol.acl security.job.task.protocol.acl sequencefile.filter.class mapreduce.input.sequencefileinputfilter.class sequencefile.filter.frequency mapreduce.input.sequencefileinputfilter.frequency sequencefile.filter.regex mapreduce.input.sequencefileinputfilter.regex session.id dfs.metrics.session-id slave.host.name dfs.datanode.hostname slave.host.name mapreduce.tasktracker.host.name tasktracker.contention.tracking mapreduce.tasktracker.contention.tracking tasktracker.http.threads mapreduce.tasktracker.http.threads topology.node.switch.mapping.impl net.topology.node.switch.mapping.impl topology.script.file.name net.topology.script.file.name topology.script.number.args net.topology.script.number.args user.name mapreduce.job.user.name webinterface.private.actions mapreduce.jobtracker.webinterface.trusted yarn.app.mapreduce.yarn.app.mapreduce.client-am.ipc.max-retries-on-timeouts yarn.app.mapreduce.client-am.ipc.max-retries-on-timeouts The following table lists additional changes to some configuration properties: Deprecated property name New property name mapred.create.symlink NONE - symlinking is always on mapreduce.job.cache.symlink.create NONE - symlinking is always on 文章可以转载,必须以链接形式标明出处。 本文转自 张冲andy 博客园博客,原文链接:http://www.cnblogs.com/andy6/p/7689773.html ,如需转载请自行联系原作者

优秀的个人博客,低调大师

HTAP数据库 PostgreSQL 场景与性能测试之 13 - (OLTP) 字符串搜索 - 相似查询

标签 PostgreSQL , HTAP , OLTP , OLAP , 场景与性能测试 背景 PostgreSQL是一个历史悠久的数据库,历史可以追溯到1973年,最早由2014计算机图灵奖得主,关系数据库的鼻祖Michael_Stonebraker操刀设计,PostgreSQL具备与Oracle类似的功能、性能、架构以及稳定性。 PostgreSQL社区的贡献者众多,来自全球各个行业,历经数年,PostgreSQL 每年发布一个大版本,以持久的生命力和稳定性著称。 2017年10月,PostgreSQL 推出10 版本,携带诸多惊天特性,目标是胜任OLAP和OLTP的HTAP混合场景的需求: 《最受开发者欢迎的HTAP数据库PostgreSQL 10特性》 1、多核并行增强 2、fdw 聚合下推 3、逻辑订阅 4、分区 5、金融级多副本 6、jso

优秀的个人博客,低调大师

HTAP数据库 PostgreSQL 场景与性能测试之 14 - (OLTP) 字符串搜索 - 全文检索

标签 PostgreSQL , HTAP , OLTP , OLAP , 场景与性能测试 背景 PostgreSQL是一个历史悠久的数据库,历史可以追溯到1973年,最早由2014计算机图灵奖得主,关系数据库的鼻祖Michael_Stonebraker操刀设计,PostgreSQL具备与Oracle类似的功能、性能、架构以及稳定性。 PostgreSQL社区的贡献者众多,来自全球各个行业,历经数年,PostgreSQL 每年发布一个大版本,以持久的生命力和稳定性著称。 2017年10月,PostgreSQL 推出10 版本,携带诸多惊天特性,目标是胜任OLAP和OLTP的HTAP混合场景的需求: 《最受开发者欢迎的HTAP数据库PostgreSQL 10特性》 1、多核并行增强 2、fdw 聚合下推 3、逻辑订阅 4、分区 5、金融级多副本 6、jso

优秀的个人博客,低调大师

HTAP数据库 PostgreSQL 场景与性能测试之 7 - (OLTP) 全文检索 - 含索引实时写入

标签 PostgreSQL , HTAP , OLTP , OLAP , 场景与性能测试 背景 PostgreSQL是一个历史悠久的数据库,历史可以追溯到1973年,最早由2014计算机图灵奖得主,关系数据库的鼻祖Michael_Stonebraker操刀设计,PostgreSQL具备与Oracle类似的功能、性能、架构以及稳定性。 PostgreSQL社区的贡献者众多,来自全球各个行业,历经数年,PostgreSQL 每年发布一个大版本,以持久的生命力和稳定性著称。 2017年10月,PostgreSQL 推出10 版本,携带诸多惊天特性,目标是胜任OLAP和OLTP的HTAP混合场景的需求: 《最受开发者欢迎的HTAP数据库PostgreSQL 10特性》 1、多核并行增强 2、fdw 聚合下推 3、逻辑订阅 4、分区 5、金融级多副本 6、jso

优秀的个人博客,低调大师

HTAP数据库 PostgreSQL 场景与性能测试之 4 - (OLAP) 大表OUTER JOIN统计查询

标签 PostgreSQL , HTAP , OLTP , OLAP , 场景与性能测试 背景 PostgreSQL是一个历史悠久的数据库,历史可以追溯到1973年,最早由2014计算机图灵奖得主,关系数据库的鼻祖Michael_Stonebraker操刀设计,PostgreSQL具备与Oracle类似的功能、性能、架构以及稳定性。 PostgreSQL社区的贡献者众多,来自全球各个行业,历经数年,PostgreSQL 每年发布一个大版本,以持久的生命力和稳定性著称。 2017年10月,PostgreSQL 推出10 版本,携带诸多惊天特性,目标是胜任OLAP和OLTP的HTAP混合场景的需求: 《最受开发者欢迎的HTAP数据库PostgreSQL 10特性》 1、多核并行增强 2、fdw 聚合下推 3、逻辑订阅 4、分区 5、金融级多副本 6、jso

优秀的个人博客,低调大师

HTAP数据库 PostgreSQL 场景与性能测试之 10 - (OLTP) 字符串搜索 - 前缀查询

标签 PostgreSQL , HTAP , OLTP , OLAP , 场景与性能测试 背景 PostgreSQL是一个历史悠久的数据库,历史可以追溯到1973年,最早由2014计算机图灵奖得主,关系数据库的鼻祖Michael_Stonebraker操刀设计,PostgreSQL具备与Oracle类似的功能、性能、架构以及稳定性。 PostgreSQL社区的贡献者众多,来自全球各个行业,历经数年,PostgreSQL 每年发布一个大版本,以持久的生命力和稳定性著称。 2017年10月,PostgreSQL 推出10 版本,携带诸多惊天特性,目标是胜任OLAP和OLTP的HTAP混合场景的需求: 《最受开发者欢迎的HTAP数据库PostgreSQL 10特性》 1、多核并行增强 2、fdw 聚合下推 3、逻辑订阅 4、分区 5、金融级多副本 6、jso

优秀的个人博客,低调大师

HTAP数据库 PostgreSQL 场景与性能测试之 11 - (OLTP) 字符串搜索 - 后缀查询

标签 PostgreSQL , HTAP , OLTP , OLAP , 场景与性能测试 背景 PostgreSQL是一个历史悠久的数据库,历史可以追溯到1973年,最早由2014计算机图灵奖得主,关系数据库的鼻祖Michael_Stonebraker操刀设计,PostgreSQL具备与Oracle类似的功能、性能、架构以及稳定性。 PostgreSQL社区的贡献者众多,来自全球各个行业,历经数年,PostgreSQL 每年发布一个大版本,以持久的生命力和稳定性著称。 2017年10月,PostgreSQL 推出10 版本,携带诸多惊天特性,目标是胜任OLAP和OLTP的HTAP混合场景的需求: 《最受开发者欢迎的HTAP数据库PostgreSQL 10特性》 1、多核并行增强 2、fdw 聚合下推 3、逻辑订阅 4、分区 5、金融级多副本 6、jso

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册