- 博客(126)
- 资源 (9)
- 收藏
- 关注
转载 基于 Stanford NLP software 的中文文本预处理
基于 Stanford NLP software 的中文文本预处理https://acepor.github.io/2015/12/22/Stanford-Cn/本文已被cos.name转载:http://cos.name/2016/01/intro-to-chinese-nlp/ 作为一个处理自然语言的团队,我们在日常工作中要用到不同的工具来预处理中文文本,比如Jieba和Stanfo...
2018-04-17 15:34:29
1331
原创 最简C++11笔记
最简C++11笔记Move语义避免复制开销,转移指针的所有权。右值引用右值引用通过A&&创建,实现move语义和理想的参数传递。变长模板可以传入0到多个模板参数:template <typename... T>struct arity {constexpr static int value = sizeof...(T);};stati...
2018-03-13 23:28:48
479
原创 Cloud Foundry简介
工业标准的云平台传统IT:用户管理一切,从硬件、OS到Runtime、、应用IaaS:用户管理中间件、运行时和应用、数据PaaS:用户只管理应用、数据Cloud Foundry (CF)成为工业标准,也可以部署在IaaS之上。CloudFoundry如何工作云如何均衡负载1. BOSH在物理基础设施之上创建和部署虚拟机(VMs)。 2. Cloud Controller在VM上运行应用和其
2017-12-26 10:28:36
1333
原创 GreenPlum优化器Orca论文笔记
一、简介Orca特性模块化可扩展性适应多核可验证性性能二、预备知识MPP(大规模并行处理)Share-nothing计算结构两个以上的协调处理器每个处理器有自己的内存,OS和硬盘Master负责数据库实例之间的工作协调,每部分数据处理和存储的工作称为Segements。当查询提交到master,查询会被优化并拆分为小的部分,并被分发为Segments。通过网络层互联,实现Se
2017-12-10 21:22:16
3302
1
转载 Cost Based Optimizer in Apache Spark 2.2
Cost Based Optimizer in Apache Spark 2.2by Ron Hu, Zhenhua Wang, Wenchen Fan and Sameer Agarwal Posted in ENGINEERING BLOGAugust 31, 2017This is a joint engineering effort between Databr
2017-09-01 16:57:24
1173
转载 Exactly-once Semantics are Possible: Here’s How Kafka Does it
按语:Kafka 0.11 增添了Exactly-once语义的实现,主要通过幂等和事务两种机制来实现,本文描述了Kafka的恰好一次语义实现机制。Neha NarkhedeJune 30, 2017PrintI’m thrilled that we have hit an exciting milestone the Kafka community h
2017-08-05 14:29:11
1259
转载 No consensus in exactly-once
https://fpj.me/2017/07/04/no-consensus-in-exactly-once/JULY 4, 2017 ~ FPJExactly-once semantics is an intriguing, controversial, and for me an exciting topic. I have been dealing with it
2017-07-05 12:37:59
820
转载 The Easy Way to Setup PostgreSQL 10 Logical Replication
按:转载一篇介绍PostgreSQL 10.0的逻辑复制特性使用方法的文章,逻辑复制特性的实现机制稍后有时间分析。原文地址:https://www.openscg.com/2017/06/the-easy-way-to-setup-postgresql-10-logical-replication/One of the most exciting enhancements
2017-06-15 00:10:50
835
转载 State in Flink and Rescaling Stateful Streaming Jobs
By Stefan Richter (@StefanRRichter) of data ArtisansNow, it’s time for a deep-dive on application state in Flink. We’ll cover 5 topics in this section:An Intro to Stateful Stream Processin
2017-06-14 15:09:13
941
转载 Peeking into Apache Flink's Engine Room
13 Mar 2015 by Fabian Hüske (@fhueske)Join Processing in Apache FlinkJoins are prevalent operations in many data processing applications. Most data processing systems feature APIs that make jo
2017-06-14 11:38:37
767
原创 Flink AsyncIO特性测评
背景:Flink 1.2起,对流处理中耗时较高的外部IO操作进行了优化,引入了Async IO特性,将IO操作异步化,大幅提升了效率。测试环境:Java HotSpot(TM) 64-Bit Server VM 1.8.0_112-b16 on Mac OS X 10.11.6Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz 测试基准:对
2017-06-12 14:25:09
1922
原创 Flink JOIN 执行计划
Flink JOIN 执行计划代码: val table1 = env.fromElements((1, "hello")).toTable(tEnv, 'a, 'b) val table2 = env.fromElements((1, "hello")).toTable(tEnv, 'c, 'd) val table = table1.join(table2).where("
2017-05-23 23:54:38
1787
原创 Flink容错机制源码分析
Flink容错机制(基于FLIP6的YARN架构)YARN application master启动:YarnFlinkApplicationMasterRunnerrunApplicationMaster(flinkConfig) 启动RPC服务初始化resource manager初始化job master参数启动resource manager启动job manager runn
2017-04-25 22:19:53
1185
原创 Beam学习笔记(3):Flink Streaming Pipeline Translator
FlinkStreamingPipelineTranslator1 所有的可用Translator:// here you can find all the available translators. static { TRANSLATORS.put(Read.Bounded.class, new BoundedReadSourceTranslator()); TRANSLAT
2017-04-25 22:18:00
813
原创 Beam学习笔记(2):Flink Runner简介
Beam Flink Runner实现创建FlinkPipelineExecutionEnvironment;调用FlinkPipelineExecutionEnvironment.translate(FlinkRunner flinkRunner, Pipeline pipeline)方法,将pipeline翻译为flink程序,分为两种模式:STREAMING 和 BATCH,分别在Flin
2017-04-25 22:16:44
1420
原创 Beam学习笔记(1):SDK简介
SDK调用流程Beam SDK的通常使用套路是这样的:1. Pipeline p = Pipeline.create(options); // 创建pipeline2. p.apply(PTransform t)…… // 对pipeline实施一系列变换3. p.run().waitUntilFinish(); // 由Runner实现run()方法PTransformPTransfor
2017-04-25 22:14:49
947
转载 京东云实践:浅谈Redis主从复制
作者:京东云平台资深研发工程师-张成远 Redis是一个开源的,遵守BSD许可协议的key/value缓存系统,并由其高效的响应速度以及丰富的数据结构而闻名。Redis在京东的使用也是非常普遍的,包括很多关键业务上的使用,由于Redis官方集群还未发布,在使用Redis的过程中需要面对Redis的单点问题,京东采用的是一种比较通用的解决方案即由主从备份再加相应的主从切换(在一些场景下可
2017-03-23 17:37:44
690
原创 Redis Psync机制
Redis Psync机制后台同步操作Redis在初始化时,会创建一个叫ServerCron的Time Event,定期处理全部后台操作。ServerCron中,有一个replicationCron进程,以每1s一次的频率调用,用于重连master,检测传输失败,启动后台RDB传输等同步操作。replicationCron检查是否发生连接超时;检查是否发生IO传输超时;检测是否允许连接到Mas
2017-03-22 23:07:46
3808
原创 MongoDB replication (2)
MongoDB replication (2)OpLog启动流程:mongoDbMain() => _initAndListen(listenPort) => listen(listenPort)listen()函数:logStartup();startReplication();server->run();startReplication() => startMasterSlave()
2017-02-21 10:08:45
565
原创 MongoDB replication (1)
MongoDB replication (1)> rs.initiate(){ "ok" : 0, "errmsg" : "This node was not started with the replSet option", "code" : 76, "codeName" : "NoReplicationEnabled"}启动时没有配置复制集,使用mongo –
2017-02-21 10:07:48
7508
原创 MySQL Group Commit 笔记
Binlog开启为何和Group Commit不兼容?MySQL/MariaDB使用XA/2阶段提交保证事务持久性。 提交事务的三个阶段:准备阶段,事务在引擎中持久化,但仍可以回滚;如果准备阶段成功,事务在binlog中持久化;提交阶段,引擎提交事务,无法再回滚。开启binlog之前,group commit的实现: trx->flush_log_later = TRUE; i
2017-01-22 22:32:05
1328
原创 MySQL协议分析(结合PyMySQL)
MySQL协议分析(结合PyMySQL)MySQL Packets当MySQL客户端或者服务端发送数据时,它会首先把数据分割成(2^24-1)bytes的包,然后给每个包加上packet header。 类型 名称 描述 int<3> payload_length 负载长度,除了header的4字节 int<1> sequence_id 序列ID string
2017-01-03 20:06:43
3684
转载 Yelp的实时流技术:利用MySQLStreamer将数据库变更发送给Kafka
本文翻译自:Streaming MySQL tables in real-time to Kafka这是关于Yelp的实时流数据基础设施系列文章的第二篇。这个系列会深度讲解我们如何用“确保只有一次”的方式把MySQL数据库中的改动实时地以流的方式传输出去,我们如何自动跟踪表模式变化,如何处理和转换流,以及最终如何把这些数据存储到Redshift或Salesforce之类的数据仓库中去。
2017-01-03 11:34:29
1893
原创 Structred Streaming之Streaming Query分析
Structred Streaming之Streaming Query分析在用户的应用程序中,用户会调用DataStreamWriter.start()方法发起一个Streaming query。在DataStreamWriter中,会调用df.sparkSession.sessionState.streamingQueryManager.startQuery方法开始查询。StreamingQ
2016-12-28 10:41:52
1931
原创 HDFS中的TransactionsSinceLastCheckpoint
TransactionsSinceLastCheckpoint = getEditLog().getLastWrittenTxId() - getFSImage().getStorage().getMostRecentCheckpointTxId();SecondaryNamenode上有checkpointThread,其主要的工作循环在void doWork()函数。判断是否做Ch
2016-12-28 10:41:25
1324
转载 Flink 原理与实现:架构和拓扑概览
架构要了解一个系统,一般都是从架构开始。我们关心的问题是:系统部署成功后各个节点都启动了哪些服务,各个服务之间又是怎么交互和协调的。下方是 Flink 集群启动后架构图。当 Flink 集群启动后,首先会启动一个 JobManger 和一个或多个的 TaskManager。由 Client 提交任务给 JobManager,JobManager 再调度任务到各个 TaskM
2016-12-24 10:24:21
873
原创 Spark GC调优笔记
Spark GC调优笔记传统GCParalledl GC:高吞吐量,离线分析 CMS GC:低延迟,实时响应Java堆内存划分为两个区域:Young和Old,Young存储短期对象,Old存储长期对象。Young代进一步划分为三个区域:Eden,Survivor1,Survivor2GC调优的目标只有长期对象存储在老年代,新生代有充分的大小短期对象。调优方法如果老年代接近满,降低spark
2016-12-12 19:59:43
2161
原创 Flink DAG编译和优化
Flink DAG编译和优化1. 创建ProgramPlan。class ExecutionEnvironment:public Plan createProgramPlan();Plan描述了所有的数据源,所有Sink,所有操作,可以在PlanExecutor中作为独立单元执行。2. 编译。class Optimizer:private OptimizerPostPass getPostPass
2016-12-07 14:57:08
2476
原创 Hive执行SQL语句
org.apache.hadoop.hive.ql.Driver类public int execute(boolean deferClose) 方法1. 从Plan中统计MR/Tez/Spark Task数量 int mrJobs = Utilities.getMRTasks(plan.getRootTasks()).size(); int jobs = mrJobs
2016-12-02 22:29:51
2087
原创 Hive编译SQL语句
org.apache.hadoop.hive.ql.Driver类public int compile(String command, boolean resetTaskIds, boolean deferClose)方法1. 语法分析。 ParseDriver pd = new ParseDriver(); ASTNode tree = pd.parse(command,
2016-12-02 22:28:45
957
原创 YARN应用生命周期
RM: Resource ManagerAM: Application MasterNM: Node ManagerClient向RM提交应用,包括AM程序及启动AM的命令。RM为AM分配第一个容器,并与对应的NM通信,令其在容器上启动应用的AM。AM启动时向RM注册,允许Client向RM获取AM信息然后直接和AM通信。AM通过资源请求协议,为应用协商容器资源。如容器分配成功,AM要求
2016-12-01 23:28:16
1091
1
原创 Spark Streaming分析
StreamingContext启动流程创建和停止:context.start()/context.stop()初始化方式: Master URL + App nameSparkConf配置从现有的SparkContext创建SparkContext:外部传入或者从检查点创建DStreamGraph:创建新的DStreamGraph或者关联检查点的graphscheduler:创建J
2016-11-30 12:49:52
494
原创 常用Kafka命令实现
TopicCommandwriteTopicPartitionAssignment/brokers/topics/[topic]/partitions/[0…N]KafkaProducer初始化Metadata初始化RecordAccumulator创建Sender服务线程Sender服务循环: 获取准备发送数据的partition列表drain出指定节点的所有数据并放入batch
2016-11-28 19:22:32
1486
原创 Flume与Kafka比较
Flume Kafka 功能 侧重日志采集 实现 管道流 传输方式 push-based 持久行为 传输后的日志不保存 模型 source-channel-sink 可靠性 持久化的channel或者冗余拓扑,无副本 流处理 有拦截器 适合场景 直接日志采集或者写入Hadoop/HDFS的sink
2016-11-25 11:16:01
1903
翻译 Hadoop NameNode 高可用 (High Availability) 实现解析
Hadoop NameNode 高可用 (High Availability) 实现解析
2016-11-24 11:20:37
489
原创 Spark作业提交和DAG调度器生成Task
RDD action => SparkContext.runJob(rdd: RDD[T], func: Iterator[T] => U)runJob() => dagScheduler.runJob: 对所有Partitions应用一个函数做变换,返回结果,是所有RDD action的主进入点。DAGScheduler.runJob => submitJob()并返回一个future =>
2016-11-22 20:33:42
957
原创 Spark Executor on YARN
YARN executor launch context env: CLASSPATH -> {{PWD}}<CPS>{{PWD}}/__spark_conf__<CPS>{{PWD}}/__spark_libs__/*<CPS>$HADOOP_CONF_DIR<CPS>$HADOOP_COMMON_HOME/share/hadoop/common/*<CPS>$HADOOP_COMMON
2016-11-22 18:27:35
1019
原创 Spark运行模式
Spark运行模式部署模式clientcluster集群管理模式localcluster standalone: org.apache.spark.deploy.Client / org.apache.spark.deploy.rest.RestSubmissionClientyarn: org.apache.spark.deploy.yarn.Clientmesos: org.ap
2016-11-22 15:49:24
475
原创 Java GC 源码分析(2)
Mark-Sweep Policy类继承关系:CollectorPolicy=>GenCollectorPolicy =>TwoGenerationCollectorPolicyTwoGenerationCollectorPolicy类:class TwoGenerationCollectorPolicy : public GenCollectorPolicy { protected:
2016-11-05 21:18:47
741
The Architecture of Open Source Applications
2011-09-17
C++标准库,Boost简介
2007-05-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人