AlstonWilliams's Blog

Thinking will not overcome fear but action will.

Spark内存管理(译)

原文地址: https://0x0fff.com/spark-memory-management/ 从Apache Spark 1.6开始,内存管理模型就发生了变化了。以前的内存管理模型是通过StaticMemoryManager 实现的,而现在,默认情况下,并不会使用这个内存管理模型。也就是说,即使你在Spark 1.5.x和Spark 1.6.0上运行相同的代码,结果也会是不同的。这一...

Spark中,为何在Driver中监听RabbitMQ队列,这个Driver就不会停止-

在Driver中,我们有这么一段代码: val rabbitMQAccessor = realtimeLabelCompute.createRabbitMQAccessor() while (true) { val message = rabbitMQAccessor.poll() realtimeLabelCompute.processMe...

Spark中reduceByKey()和groupByKey()的区别(译)

我们都知道,在Spark当中,分组操作时,提供了这么两个函数。那么,这两个方法有什么区别呢?我们应该使用哪一个呢? 我们用WordCount程序来举例。 val words = Array("one", "two", "two", "three", "three", "three") val wordPairsRDD = sc.parallelize(words).map(word =&...

ShadowSocks-libev从源码安装需要的包

先安装下面的两个包: apt-get install libpcre3 libpcre3-dev 上面那个包时安装pcre的 然后在安装asciidoc: 在/etc/apt/source.list中加入下面这行: deb http://ftp.de.debian.org/debian jessie main 然后使用 apt-get update apt-get install a...

ShadowSocks-Qt5缺少依赖

之前在公众号中,有一篇文章介绍如何安装ShadowSocks-Qt5,但是这次在我重新安装时,却还是遇到了没有依赖的情况. 去官网上看,发现需要先安装下面这个包: libQtShadowsocks >= 1.10.0. 使用apt-get安装一下即可.

Scala深海奇遇记-当case-class遇到了Spark的聚集函数

自从知道有case class这个东西以后,一直都比较常用这个东西。但是,最近在测试的时候,突然发现,其实这个东西并不简单,它导致了一个看起来很无厘头的错误,并且花了我两天的时间来调试。 在这篇文章里,我会详细记录调试的过程,以及结论。 致谢 在调试的过程中,得到了我们Hadoop组老大,项目组老大,以及其他同事的深度支持与帮助,非常感谢他们。 结论 先说结论。如果有朋友不感兴趣,...

Redis常用命令

redis-server /path/redis.conf # start redis with the related configuration file redis-cli # opens a redis prompt Strings. APPEND key value # append a value ...

Redis官方文档笔记

An introduction to Redis data type Redis keys: Very long keys are not a good idea. For instance a key of 1024 bytes is a bad idea not only memory-wise, but also because the lookup of...

React-Native使用react-native-splash-screen为Android添加启动页

现在我们做一个APP,不可避免的要添加一个启动页,使APP对用户更加友好.废话少说,我们现在就来介绍如何利用react-native-splash-screen为Android APP实现启动页. 需要注意的是,如果你是为IOS实现,那么步骤是不一样的.具体请看官网. 步骤 添加依赖 在项目根目录下执行下面这条命令:npm i react-native-splash-screen –s...

RabbitMQ中,为何不关闭Connection,主线程一直不会停止

在Spark中,我们在Driver里放了一个RabbitMQ,接收消息,然后处理。避免一次次地上传Jar包,进行前面的准备操作。 然而,在实际操作中,发现了一些诡异的事情。 第一件事情就是,当我们使用yarn -kill命令,将这个Job kill掉之后,我们发现,实际上Driver并没有被kill掉。还是会继续监听那个队列,而且,SparkContext确实是被关闭掉了。 而正常的情...