ARTS打卡31-像松鼠一样敏捷的Flink流处理

Algorithm做算法题,Review点评英文文章,Tip总结技术技巧,Share做技术分享。每周打卡一次,这就是ARTS打卡。

1. 做算法题

LeetCode771题. 宝石与石头

题目描述:
给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。

示例 1:
输入: J = “aA”, S = “aAAbbbb”
输出: 3
示例 2:
输入: J = “z”, S = “ZZ”
输出: 0

解题思路:
本题比较简单,将J中的字符在S中查找统计数量即可,Python中count函数就是做这个事的。不消耗额外空间,空间复杂度O(1)。遍历字符串J,并且每次在S中查找,时间复杂度O(len(J)*len(S))。
解题代码:

class Solution:
def numJewelsInStones(self, J: str, S: str) -> int:
	count_num = 0
	for j in J:
		count_num += S.count(j)
	return count_num

2.点评英文文章

文章20 Future Technologies That Will Change the World by 2050 介绍了20项可能在未来改变世界的前沿技术,非常开脑洞。用DNA做计算,能随时间推移的四维打印等等,最让我意外的是零知识证明居然也在榜上,作为区块链中的一项技术,零知识证明能解决很多信息传播问题。

3. 技术技巧

程序对文件读写中常出现编码问题。文件读写一般分两种模式,字符串和字节,分别对应r,wrb,wb。如果写用w,读用rb就会发生解析错误。字符串的编码也常出错,gbk,utf-8容易用混合,读写要一致,才能正确编解码。关于文档读写参考这里,关于编解码问题参考这里
有时候程序需要远程调用另外一台服务器上的方法,这个过程称为远程过程调用(Remote Procedure Call, RPC)。xmlrpc是基于xml格式和http协议的RPC方法,Python、Java、C++中均有相应的库可以调用。

4. 技术分享

Flink是Apache基金会的顶级开源项目,大有取代Hadoop、Spark之势。在B站尚硅谷频道的Flink课程能详细了解。官网的安装部署文档简洁,例如Flink安装部署参考这里Windows下启动Flink参考这里。部署好Flink后在Flink中跑一个word count demo参考1,参考2,其中涉及到用Marven构建Flink程序参考这里
初级的Flink操作完成后,研究一些解决实际问题。如何解决Kafka消费入库到Hbase中?有kafka+flink+hbase数据整合案例参考,也可以用成熟的方案华为云DLI组件实现跨源连接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值