0%

Hive 是个好东西,它能够把 SQL 查询自动转化为一系列 Map-Reduce 任务。但显然,如何将数据引入 Hive 也会是个问题。一个典型的场景是:你通过某种方式,生成了大量结构化的数据,保存在 HDFS 上。现在你希望 Hive 能够基于这些数据,建立数据库,从而能够使用 SQL 语句进行数据库操作。但与此同时,因为数据量十分庞大,你不希望产生数据拷贝、搬移,以免消耗无谓的存储资源和计算资源。

此篇介绍我近期的一个实践方案。

阅读全文 »

macOS 上有对未正确签名的应用程序进行隔离的设定。具体来说,如果用户下载了一个来自互联网的应用,但该应用没有使用 Apple 认可的签名,则 Apple 会在用户尝试执行应用程序时提示「应用程序来自互联网」,要求用户确认后才能执行。

中文网络上对这种情况的解决办法,一般都是进入系统偏好设置,在安全性设置中允许来自任意位置的应用。这其实是取消了 macOS 的隔离功能,无疑会降低系统安全性。特别地,对于某些特定的程序,我们确切知道它是无害的,于是我们希望 macOS 对它打开绿灯,但对其它来自互联网的应用程序仍保持必要的隔离措施。这时,整个儿取消 macOS 的隔离功能就不合适了。

阅读全文 »

这段时间开始学习使用 Scala。和大多数初学者一样,面对 Scala 的各种符号,我也是一脸懵哔。尤其是 Scala 中的下划线 _ 在不同场合有不同含义,简直慌。适应一段时间之后,这里总结记录一下我遇见的下划线的含义。

阅读全文 »

我们知道,在电脑上删除文件时,并不会真的删除数据,而仅仅是在文件系统中将相应文件的索引删除。哪怕是格式化,在「快速格式化」的情况下,也不会删除磁盘上的数据。这种删除/格式化的操作,有歹心的人是有可能恢复数据的。

因此,在某些情况下——例如归还借用的电脑时——我们会希望能够真正地「粉碎」文件,避免被人恢复敏感数据。

市面上有不少「粉碎文件」的工具。但:

  • 为了信息安全这件事情,专门安装第三方工具,这件事情本身就很吊诡;
  • 如果要粉碎大量文件,同时保证全盘没有遗漏,这些第三方工具往往不可靠。

这篇介绍用 Windows 自带的工具解决这个问题。

阅读全文 »