如果Hive表的分区是日期,并且每天数据不大,那么如果想批量把某一天的数据复制出多天的数据,最快的方法可能是直接复制磁盘文件,然后再用一行命令处理一下即可。
综合
[原创] 美化git diff命令在终端的显示效果
本文适用的环境:
MacOS、Ubuntu(仅在20.04.6 LTS上做了测试)
git diff命令在终端执行时,其显示效果是:
* 按文件分块:每个有改动的文件单独一段,从上到下依次展示。
* 统一在一个终端窗口内纵向滚动,默认不会并排显示左右对比。
我个人觉得,这种显示方式,不如"左右对比"的diff形式直观。
所以,有没有办法把git diff命令的输出,改造成更美观的形式呢?
[原创] JAVA map-reduce job的counter页面无法显示的问题(error 500)
这个问题已经不是第一次遇到了,只不过今天痛下决心花费不少时间把它写成文章,给遇到同样问题的朋友一些参考。
我们知道,一个JAVA M-R job跑完后,无论是在命令行,还是在job的信息展示网页上,都会看到输出job counter的信息。在网页上,通过点击job信息页中的"counter"链接就能看到。
[原创] 解决IntelliJ idea启动崩溃:error occurred during error reporting (), id 0x6, SIGABRT (0x6) at pc=...

有时候,一个用了好久、一直好用的方法突然失灵,并且还折腾了几天,真的会逼疯人。
前几天我就遇到了这种破事:在Ubuntu开发机上自己升级IntelliJ idea到最新版之后,就无法再启动它。
启动时永远会崩溃,无论是重启系统、删除IntelliJ idea的本地缓存,或者使用回旧版,都无法再启动它(仿佛什么文件被"污染"了,再也回不去了),十分烦人。经过几天各种方法的尝试,终于解决了问题,我的解决办法不具有普适性,但如果你遇到了此类问题,或许可以为你提供一些解决思路。
[原创] 和付费使用一年多的GitHub Copilot说再见

[原创] JAVA map-reduce job中,reduce()方法漏写 @Override 注解引起的问题
有一个JAVA写的map-reduce job,mapper输出的key、value类型分别为Text、NullWritable,所以reducer应该像下面这样写:
static class QuerySegmentResultFromKVReducer extends Reducer<Text, NullWritable, NullWritable, NullWritable> {
@Override
protected void setup(Reducer.Context context) throws IOException, InterruptedException {
}
@Override
protected void cleanup(Reducer.Context context) throws IOException, InterruptedException {
}
@Override
protected void reduce(Text key, Iterable<NullWritable> values, Context context) throws IOException, InterruptedException {
//TODO:
}
}
在这里,reducer输出的key、value类型都是NullWritable,我们不用关心,这不是本文的关注点。
[原创] 解决Map-Reduce job OOM(Java Heap Space)错误的一个方法:调整内存参数
无论是JAVA M-R job还是Pig M-R job发生Java Heap Space错误,一般情况下,我们要通过定位输入数据里的异常情况再想办法解决,例如,你在程序中对某个key做了GROUP操作,但输入数据中可能该key有大量记录,这就有可能导致job OOM。
这个问题取决于数据的具体情况,以及程序实现逻辑,所以这里就不提了。
本文要说的是:有时候程序实现/输入数据的问题“不是特别严重”,我们可以通过调整M-R job的内存参数来解决。
如何查看指定的Hadoop(HDFS)目录的配额
Hadoop目录的配额是指为了限制一个HDFS文件夹中所包含的数据块和名称空间元素(如子文件夹和文件)的数量而设置的最大值。简单来说,就是对一个文件夹中可存储数据的上限进行管理和控制,以便于维护整个系统的健康和性能。
通过设置适当的配额,管理员可以确保每个目录不会超出其可承受的容量范围,防止集群资源被长时间占用或滥用。同时也可以通过监视使用情况来优化系统性能并减少故障风险。
[原创] 用JAVA读取本地的TFRecord文件
[原创] 用JAVA程序读取本地的Hadoop sequence file
[原创] JAVA sun HttpServer在handler中返回含中文的response应该怎么处理
static class MyHandler implements HttpHandler {
@Override
public void handle(HttpExchange httpExchange) throws IOException {
String response = "test"; // 返回固定内容
httpExchange.sendResponseHeaders(200, response.length());
OutputStream os = httpExchange.getResponseBody();
os.write(response.getBytes());
os.close();
}
}
