首页 文章 精选 留言 我的

精选列表

搜索[格式转换工具],共10012篇文章
优秀的个人博客,低调大师

XML 转换

docbook-xsl-1.73.2.tar.gz docbook-dsssl-1.79.tar.gz rxp - A validating XML parser rxp -s file.xml To validate file.xml, use the command: $ rxp -s -V file.xml 2.2.1.xsltproc - XSLT command line processor xsltproc --stringparam html.stylesheet docbook.css ../../docbook-xsl-1.73.2/xhtml/chunk.xsl ../book.xml $ sudo apt-get install docbook-xsl $ export DSSSL=/usr/share/xml/docbook/stylesheet/nwalsh/xhtml/chunk.xsl $ /usr/bin/xsltproc --stringparam html.stylesheet docbook.css ${DSSSL} ../book.xml 2.2.2.docbook-ebnf - EBNF module for the XML version of the DocBook DTD docbook-ebnf - EBNF module for the XML version of the DocBook DTD $ sudo apt-get install docbook-ebnf 2.2.3.docbook-xsl-saxon $ sudo apt-get install docbook-xsl-saxon 创建一个test.xml的测试文件 SRCS = test.xml DESTDIR = . all: html html: $(SRCS:.xml=.noext.html) $(SRCS:.xml=.html) %.png : %.png.uu [ -d ${DESTDIR} ] || mkdir -p ${DESTDIR} uudecode -o /dev/stdout < $< > ${DESTDIR}/$@ %.html : %.xml [ -d ${DESTDIR} ] || mkdir -p ${DESTDIR} java -cp "/usr/share/java/saxon.jar:/usr/share/java/xslthl.jar:/usr/share/java/docbook-xsl-saxon.jar" \ -Dhighlight.xslthl.config="/usr/share/xml/docbook/stylesheet/docbook-xsl/highlighting/xslthl-config.xml" \ com.icl.saxon.StyleSheet \ -u -o ${DESTDIR}/$@ $< db2html.xsl \ highlight.source=1 %.noext.html : %.xml [ -d ${DESTDIR} ] || mkdir -p ${DESTDIR} xsltproc --xinclude --nonet -o ${DESTDIR}/$@ \ --stringparam highlight.source 1 \ --stringparam xslthl.config /usr/share/xml/docbook/stylesheet/docbook-xsl/highlighting/xslthl-config.xml \ --param use.extensions 0 \ --stringparam paper.type A4 \ db2html.xsl $< validate: check check: xmllint --xinclude --nonet --noout --postvalid $(SRCS) clean: rm -f ${DESTDIR}/*.html ${DESTDIR}/*.png .PHONY: all check clean html validate 生成html cp /usr/share/doc/docbook-xsl-saxon/examples/db2html.xsl 。 make html 原文出处:Netkiller 系列 手札 本文作者:陈景峯 转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。

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

2、Lambda 语法格式

1、语法定义。 (参数)->{函数体} 函数的参数 函数-> 函数体 只有一个参数时,括号可以省略 函数体只有一个语句时,括号可以省略 如果用面向对象的思维来看Lambda,可以包Lambda的一个高度的抽象。 2、Java函数式接口@FunctionalInterface Java 实现函数式编程是通过一种特殊的接口。 1、该注解只能标记在"有且仅有一个抽象方法"的接口上。 2、JDK8接口中的静态方法和默认方法,都不算是抽象方法。 3、接口默认继承java.lang.Object,所以如果接口显示声明覆盖了Object中方法,那么也不算抽象方法。 4、该注解不是必须的,如果一个接口符合"函数式接口"定义,那么加不加该注解都没有影响。加上该注解能够更好地让编译器进行检查。如果编写的不是函数式接口,但是加上了@FunctionInterface,那么编译器会报错。 3、常见函数表达式

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

MapReduce格式与类型

MapReduce Types MapReduce是一个简单的数据处理模型,map与reduce的输入和输出类型都为key-value形式的键值对。 map: (K1, V1) → list(K2, V2) reduce: (K2, list(V2)) → list(K3, V3) 一般来讲,map的输入key与输出value类型(K1,V1)不同于map的输出类型(K2,V2).reduce的输入类型比如与map的输出类型保持一致,reduce的输出类型可能会有不同的形式(K3,V3)。下面是JAVA API: public class Mapper<KEYIN, VALUEIN, KEYOUT, VALUEOUT> { public class Context extends MapContext<KEYIN, VALUEIN, KEYOUT, VALUEOUT> { // ... } protected void map(KEYIN key, VALUEIN value, Context context) throws IOException, InterruptedException { // ... } } public class Reducer<KEYIN, VALUEIN, KEYOUT, VALUEOUT> { public class Context extends ReducerContext<KEYIN, VALUEIN, KEYOUT, VALUEOUT> { // ... } protected void reduce(KEYIN key, Iterable<VALUEIN> values, Context context) throws IOException, InterruptedException { // ... } } 最终由context调用write()方法将key-value pairs输出 public void write(KEYOUT key, VALUEOUT value) throws IOException, InterruptedException Mapper与Reducer是两个不同的classes,分别具有不同的入参类型,Mapper的入参类型可能与Reducer的入参类型不同,比如Mapper的key的入参为LongWritable,reduce的为Text. 这里有一点,如果在map阶段调用了combine方法,那么就与reduce的入参相同 map: (K1, V1) → list(K2, V2) combine: (K2, list(V2)) → list(K2, V2) reduce: (K2, list(V2)) → list(K3, V3) 使用parition方法对中间结果的key与value进行操作时,将会返回parition的位置(index),parition将决定于排过序的key public interface Partitioner<K2, V2> extends JobConfigurable { int getPartition(K2 key, V2 value, int numPartitions); } 默认的分区类型为HashPartitioner,由它决定着key属于哪个分区,每一个分区都属于一个reduce task,所以分区的个数决定了reduce tasks的个数 public class HashPartitioner<K, V> extends Partitioner<K, V> { public int getPartition(K key, V value, int numReduceTasks) { return (key.hashCode() & Integer.MAX_VALUE) % numReduceTasks; } } 当你需要多个reduce tasks作业任务时,HashPartitioner就举足轻重了,因为map的结果将会传递给多个reduce,那么相同的key将会被分发到不同reduce task,大大提升了作业效率。那么reduce个数的决定了整个作业的并行度,有人会问,那map的个数呢,map的个数是由文件的block数目决定的,具体下面再说~ 那么reducer个数的把握将会是一门艺术- -增加reducer的个数相当于增加了并行度。 较小的文件与CombineFileInputFormat Hadoop的作业适用于较大的文件,原因在于FileInputFormat是split整个文件还是split单个文件,如果文件太小(这里指的是小于HDFS的block块大小)并且拥有很多这样的文件,那么就会增加打开文件的性能开销。同时,大量的小文件也会增加namenode的元数据的存储开销。 参考文献:《Hadoop:The Definitive Guide, 4th Edition》

资源下载

更多资源
Mario

Mario

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

Nacos

Nacos

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

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册