[原创] Apache Pig 加载/解析/读取 XML数据

XML logo

查看更多Apache Pig的教程请点击这里

用Apache Pig加载/解析/读取XML数据不是一个常见的需求,但有时为了方便我们又不得不用,其实Pig的UDF库piggybank已经帮大家做好了这个工作了:只需要使用其中的XMLLoader,就可以方便地实现XML文件解析。

阅读更多

[原创] "秘塔写作猫",想说爱你不容易

秘塔写作猫”是一款基于 AI 的中文、英文纠错工具,它可以帮助“不会写文章”的你从0开始撰写文章大纲甚至全文。它是最近比较流行的一款AIGC产品。

随着AI技术不断迭代,作为除UGC、PGC以外的一种新型生产方式,AIGC(AI generated content,人工智能创造内容)已从概念走向更多落地,它的字面意思就是AI生产内容。AI写诗、AI作曲、AI绘画、AI换脸等等。

比如说,老板让你在很短的时间内迅速给出一份营销方案,你可能绞尽脑汁也凑不出那么多字,这个时候就可以用“秘塔写作猫”来完成这个任务。

阅读更多

[原创] ChatGPT的出现,让我第一次觉得机器有希望替代Cambly


Cambly
是一个和真人老外(native English speakers)视频聊天练习英语口语的平台。
ChatGPT是由OpenAI于2022年11月推出的一个人工智能聊天机器人程序,该程序使用基于GPT-3.5架构的大型语言模型并通过强化学习进行训练。
这俩货有什么关系?听我慢慢道来。

阅读更多

[原创] 用Charles Proxy抓包iOS App的数据

charles proxy

查看Charles Proxy文章合集,请点击这里

 使用场景
当我们需要分析 iOS App 发送接收的数据时,需要对App进行抓包。可以在 iOS 上安装抓包工具来完成这个工作,更常见的做法是在PC上安装Charles Proxy之类的软件,再对 iOS 进行一定的配置让这二者关联起来,从而可以在PC上完成抓包工作。毕竟在PC大屏上进行数据分析比触屏的 iOS 设备更为方便。
其基本原理是:Charles Proxy运行起来后,会在PC上启动一个代理服务器,在 iOS 设备上配置通过这个代理服务器来访问网络,那么iOS上的HTTP流量都将走过Charles Proxy,自然也就被Charles Proxy截获了数据。另外,对于HTTPS的加密流量,Charles Proxy还提供了一个SSL证书,把这个证书安装到 iOS 设备上,就可以让 iOS App 发送的HTTPS流量被Charles Proxy 解密,我们就能分析App发送的数据明文。

阅读更多

[原创] 通过第三方工具/JAVA程序访问S3存储

S3是亚马逊2006年推出的简单存储服务(Simple Storage Service),理论上是一个全球存储区域网络,你可以把它想像成一个超大的硬盘,可以在其中存储和检索数字资产,通过 S3 存储和检索的资产被称为对象,对象存储在存储段(bucket)中。
很多公司都推出了自己的对象存储服务,例如阿里云对象存储服务OSS,可以使用S3 API进行访问。

阅读更多

[原创] Apache Pig如何按数据分组保存到不同的子目录中(MultiStorage)

查看更多Apache Pig的教程请点击这里

用Apache Pig进行数据处理的时候,我们通常会在最后把处理结果保存到一个HDFS目录下:

STORE result INTO '/my_output_dir';

这是最常见的情况。
但是,如果我们想根据某个字段,把数据分成多组,分别存储在多个目录下呢?举个可能不恰当的例子,就有点像我们先把数据按某个字段分组:

GROUP data BY field;

再把各个group的数据分别存储在不同的目录下一样。

阅读更多

[原创] 在99%的情况下,接受混乱才能解脱

我昨天参加了一个分享会议,公司里另一个团队的一个同事在讲解某项目历史的时候提到,关于某个逻辑复杂的模块,由于前一个开发者离职好久了,他到现在也没有理清全部的逻辑。我曾经粗看过一下他们留下的文档,简直已经不能用“凌乱”来形容了,那真是乱得比垃圾堆还乱。
但是领导们可能只看到他们文档写得多,却不知道他们文档质量有多差。
如果你想找到某个具体的问题关联到的文档,恐怕你只能一个人一个人地去问,而你问到的人,很可能会告诉你“这一块没有文档,我也是接手来的,我要去看一下代码再告诉你答案”,口口相传。

阅读更多

[原创] JAVA Jackson解析无名(匿名)数组

假设有JSON文件 1.json:

[
    {
        "sku""ABC",
        "num"3
    },
    {
        "sku""DEF",
        "num"2
    }
]

由中括号可知,这个JSON字符串映射成JAVA对象是一个List,而它里面又包含了两个JAVA对象(每个大括号对应一个)。

阅读更多

[原创] 用Charles Proxy来抓包Chrome浏览器的数据

charles proxy

查看Charles Proxy文章合集,请点击这里
本文适用的操作系统:Ubuntu

Charles Proxy是一个HTTP代理/HTTP监视器/反向代理,它使开发人员能够查看其计算机和Internet之间的所有HTTP和SSL/HTTPS流量。这包括请求、响应和HTTP headers(其中包含cookie和缓存信息)。

在Chrome浏览器中把代理服务器设置成Charles Proxy在本地提供的代理,可以让Charles Proxy把Chrome的网络流量抓取下来。
配置方法如下。

阅读更多

[原创] 一个普通技术人的2021总结,2022展望

虎年初三,在全国人民阖家欢乐到处游玩的日子里,我又去了图书馆学习。
去年的年初一,我去了同一家图书馆学习。
感叹这一眨眼,就已经过了一年了啊。
在这样重要的节日里来图书馆学习似乎显得特别冷清,但是这能让我感受到内心的宁静,可以好好思考一下过去和未来。

阅读更多

[原创] 在IntelliJ中运行Java unit test(单元测试)时打印出"log4j:ERROR Either File or DatePattern options are not set for appender"的问题

当你在IntelliJ idea中跑一个Java单元测试时,可能会发现单元测试本身没有任何问题,可以成功执行,但是IntelliJ的日志输出窗口里却打印出大量的“错误”日志,类似于下面这样:

阅读更多