KiwiJia Blog

Dexterity comes by experience.

EMR Step Concurrency 中的坑

Some Issues in EMR Step Concurrency

Amazon EMR 是行业领先的云大数据平台,可使用多种开放源代码工具处理大量数据,例如 Apache Spark、Apache Hive、Apache HBase、Apache Flink、Apache Hudi 和 Presto。 步骤(Step)是包含一个或多个 Hadoop 作业的工作单元。步骤通常用于传输或处理数据。一个步骤可能会提交工作至集群。其他步骤可...

Airflow Pool限制tasks并发

Using pool to limit tasks concurrency in Airflow

Some systems can get overwhelmed when too many processes hit them at the same time. Airflow pools can be used to limit the execution parallelism on arbitrary sets of tasks. 背景 实现 源码 总...

主定理分析算法的时间复杂度

master theorem

在演算法分析中,支配理论(英語:master theorem)提供了用渐近符号(大O符号)表示许多由分治法得到的递推关系式的方法。这种方法最初由Jon Bentlery,Dorothea Haken和James B. Saxe在1980年提出,在那里被描述为解决这种递推的“天下無敵法”(master method)。此方法经由经典演算法教科书Cormen,Leiserson,Rives...

Airflow中自定义报警机制及对Slack和Opsgenie集成

Custom alert mechanism in Airflow with Slack and Opsgenie

我们已经知道,用Ariflow做任务调度是十分方便的。然而,任何程序都免不了面临执行失败的问题。虽然有retry大法,但当retry也失败的话,还是需要人工干预。这时候,及时而全面的报警就显得相当重要。今天,就来介绍下Airflow中的报警机制。包括: 自带Email通知 自定义Email 消息发送至Slack 与Opsgenie集成获取oncaller 自带Em...

MiniProj之古诗词检索Demo实现

Chinese Ancient Poems Demo

距离上次完成简单的古诗词检索(见 MiniProj之古诗词检索) 也有段时间了。因为需要域名备案的关系,在腾讯云上买了一年的服务器。想着放着也是浪费,前几天就折腾了一把,在上面搭了个简单的api服务,又加了个静态页面。现在已经可以实现在网页上对古诗词进行简单检索了:poem,效果还是不错的。今天,整理一下这其中用到的一些技术。 Mysql Nginx+uwsgi+flask ...

Airflow中利用Variable生成动态DAG

Using variable to generate dynamic DAG in airflow

In Airflow, a DAG – or a Directed Acyclic Graph – is a collection of all the tasks you want to run, organized in a way that reflects their relationships and dependencies. Variables are a gene...

Airflow中利用xcom实现task间信息传递

Using XCOM to realize data transfer between airflow tasks

XComs let tasks exchange messages, allowing more nuanced forms of control and shared state. The name is an abbreviation of “cross-communication”. Airflow作为一款优秀的任务调度系统,必然需要解决一个重要问题:如何在多个调度任务中实现...

MiniProj之古诗词检索

A simple retrieval for Chinese Ancient Poems by python

The most comprehensive database of Chinese poetry 包含 5.5 万首唐诗、26 万首宋诗、2.1 万首宋词和其他古典文集。诗人包括唐宋两朝近 1.4 万古诗人,和两宋时期 1.5 千古词人。此数据库通过 JSON 格式分发,可以让你很方便的开始你的项目。 Github上有不少宝藏项目,比如👆这个:最全中华古诗词库 - chin...

静态网站利用SCF+API访问自定义后端接口

Use SCF+API to access custom backend api in static website

云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码。 API 网关(API Gateway)是 API 托管服务,提供 API 的完整生命周期管理,包括创建、维护、发布、运行、下线等。 把前几天给小Sa...

围棋盲如何教小孩下棋

Sabaki for go game

Sabaki: An elegant Go board and SGF editor for a more civilized age. 为了锻炼思维,陶冶性情,提高素质 。。。年前就给小Sam报了个围棋课,虽然家里并没有人懂这个。可惜由于众所周知的原因,春天来了却迟迟不能开课。可是,停课不能停学呀。于是,老师拉了个群,甩出几个棋谱,要求在家先启蒙一下,一看格式:xxx.sgf,这...