ARTS打卡33-Flink SQL流计算初探

    科技2025-01-14  16

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

    1. 做算法题

    题目:

    LeetCode561题. 数组拆分 I

    给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。

    示例 1:

    输入: [1,4,3,2]

    输出: 4 解释: n 等于 2, 最大总和为 4 = min(1, 2) + min(3, 4).

    **解题思路:**分组按照升序排序的结果两两自然分组,可得到最大的和。

    解题代码:

    class Solution: def arrayPairSum(self, nums: List[int]) -> int: nums.sort() sum_min = sum(nums[::2]) return sum_min

    2.点评英文文章

    文章《Visualizing Asteroids in Python with Bokeh and NASA APIs》介绍了如何使用Python获取NASA开放数据,并以近地小行星数据为例进行可视化展示。NASA开放的数据让天文爱好者可以获取更多信息,加上Python的帮忙,做数据分析能展现出天文世界的奇妙。

    文章《The 2020 Crypto Money Flow Cycle》介绍了加密货币的价格周期,不喜欢看价格预测、技术分析之类的文章,偶然打开看看,却发现此文分析的有些道理。加密货币的价格随着投资者的心理变化呈现出法币->BTC->ETC->ALT->BTC or 法币的周期,从历史数据分析看也符合作者的假设模型。

    3. 技术技巧

    学习ES基础教程,了解到卡拉搜索:一个定制化的站内搜索引擎。项目处于内测阶段,目的在于降低站内搜索门槛,值得关注。官网的技术博客比较通俗易懂,例如优秀的 REST API 设计指南。

    4. 技术分享

    参考这里使用Flink SQL构建基于 Kafka, MySQL, Elasticsearch, Kibana的流式应用。复现一遍流式应用并不难,而且有视频讲解,对原理有更深的理解。

    Processed: 0.010, SQL: 8