ARTS-第六周

2019-03-25  本文已影响0人  梧上擎天

Algorithm

二叉树根据值删除节点


    public void remove(E e) {
        root = remove(root, e);
    }

    private Node remove(Node node, E e) {
        if (node == null) {
            return null;
        }
        if (e.compareTo(node.e) < 0) {
            node.left = remove(node.left,e);
            return node;
        }else if (e.compareTo(node.e) > 0){
            node.right = remove(node.right,e);
            return node;
        }else {
            if (node.left == null){
                Node rightNode = node.right;
                size--;
                node.right = null;
                return rightNode;
            }
            if (node.right == null){
                Node leftNode = node.left;
                size--;
                node.left = null;
                return leftNode;
            }
            Node successor = removeMin(node.right);
            successor.left = node.left;
            successor.right = node.right;
            node.left = node.right = null;
            return successor;

        }


    }

  public E removeMin() {
        E minnum = mininum();
        root = removeMin(root);
        return minnum;
    }

    private Node removeMin(Node node) {
        if (node.left == null) {
            Node childRight = node.right;
            node.right = null;
            size--;
            return childRight;

        }
        node.left = removeMin(node.left);
        return node;
    }
    
    

Review

Flink自定义TableSource和TableSink,官网地址

TableSource提供对存储在外部系统中的数据的访问,将外部存储读出数据并注册成Table,并可使用Table和SQL的api。

TableSource.png

TableSink向外部存储系统发送并保存数据。

TableSink.png

TableFactory 隔离用户使用和代码实现

TableFactory.png

Tips

一、Bahir

官网地址 http://bahir.apache.org/

Apache Bahir为多个分布式分析平台提供扩展,通过各种流连接器和SQL数据源扩展其功能。目前包括

Spark

Flink

二、Flink其他连接器
Flink除了 kafka、文件系统、es其实还在源码中写了很多连接器,但都没有发布到maven 仓库中,如果想引用的话,需要指定apache的服务器


    <repositories>
        <repository>
            <id>apache.snapshots</id>
            <name>Apache Development Snapshot Repository</name>
            <url>https://repository.apache.org/content/repositories/snapshots/</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>

Example mysql 和 hbase

 <dependency>
            <groupId>org.apache.flink</groupId>
            <artifactId>flink-jdbc_2.11</artifactId>
            <version>${flink.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.flink</groupId>
            <artifactId>flink-hbase_2.11</artifactId>
            <version>${flink.version}</version>
        </dependency>

Share

《程序员如何技术变现》

// TODO 这周主题早就想好了,但一直不知道如何写。

最近有点迷茫,感觉计算机这条路走着走着柳暗花明了,但要学习的东西越来越多。最近身边有很多不错的哥们建议我转行试试,也提供了就业机会。他们感觉没有那么多的“术”但已经得了“道”,但什么是道我也说不清,他们也没说清,可能就是一种对于成功懒得解释后的说辞吧。

Research

本周还是继续Flink方向,课余时间研究了一下抢鞋脚本工具。

上一篇 下一篇

猜你喜欢

热点阅读