DataPipeline在大数据平台的数据流实践
在加载数据的时刻里,提前对kafka举办斲丧,缓存处理赏罚好的一个数据集,当一个线程加载数据竣事后顿时开始新的线程加载数据,镌汰处理赏罚加载数据的时刻; delete + copy的方法可以担保数据最终同等性; source 端有主键的表可以通过主键来归并一个批次必要同步的数据,如一个必要同步的批量数据中包括一条 insert 的数据,后头随着 update 该条数据,那就无需同步两遍,将该数据更新到 update 之后的状态 copy 到 gp 傍边即可。 同步GreenPlum必要留意:由于是通过copy 写入文件的,必要文件是布局化数据,典范的是行使CSV,,CSV 写入时需留意spiltquote,escapequote,停止呈现数据错位的征象。update主键的题目 , 当源端是update一个主键时,同时必要记录update前的主键,并在方针端举办删除。尚有 非凡字符的题目,由于焦点是用C说话,以是在同步的时辰 必要非凡处理赏罚掉。 三、DataPipeline将来的事变 1. 今朝我们遇到kafka connect rebalance的一些题目,以是我们对其举办了改革。以往的rebalance机制是若是我们增进可能删除一个task,会导致整个集群rebalance,这样造成许多无谓的开销并且频仍的rebalance 倒霉于数据同步的使命的不变。于是我们将rebalance机制改革成一个黏性的机制: - 当我们增进一个新的使命的时辰,我们会搜查全部的worker行使率较量低的,当worker的task较量少,我们只把它加进较量少的worker就可以了,也不必要做全量的均衡,虽然这时辰也许照旧有一些不服衡的资源挥霍,这是我们可以容忍的,至少比我们做一次全量的rebalance开销要小; - 若是删除一个task,以往的机制是删除一个task的时辰也会做全量的Rebalance,新的机制不会触发rebalance。这时辰假如时刻长也会造成一个资源不服衡,这是我们可以自动化rebalance一下全部的集群; - 若是说集群的某个节点宕掉了,该节点的task怎么办呢?我们不会顿时就把这个节点上的 task分派出去,会先守候10分钟,由于有的时辰它也许只是短暂的毗连超时,过一段时刻后就会规复,假如按照这个来做一次rebalance,也许这是不太值的。当守候10分钟后节点照旧没有规复,我们再做rebalance,将宕掉的节点使命分派到其他节点上; 源端的数据同等性,今朝通过WAL的机制可以担保目标端的同等性; 大数据量下的同步优化以及进步同步的不变性。 四、总结 大数据期间企业数据集成首要面对各类伟大的架构,应对这些伟大的体系对ETL的要求也越来越高。我们能做的就是必要衡量利弊选取一个切合营业需求的框架; Kafka Connect 较量得当对数据量大,且有及时性需求的营业; 基于Kafka Connect 精良特征可以依据差异的数据客栈特征来进步数据时效性和同步服从; DataPipeline针对今朝企业在大局限及时数据流的痛点,举办了相干的改革和优化,起首数据端到端同等性的担保是险些全部企业在数据同步进程中遇到的,今朝已经做到基于kafka connect 的框架中 rebalance 中的优化和改革。 相干阅读: 三大偏向猜测大数据技能成长将来趋势 贵阳警方操作大数据技能打掉3个传销团伙 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |