[Maven]maven-shade-plugin使用指南

1. Selecting Contents for Uber JAR下面的POM代码段显示了如何控制在uber JAR中应该包含/排除哪些项目依赖关系:project> ... build> plugins> plugin> groupId>org.apache.maven.pluginsgroupId> artifactId>maven...
阅读(71) 评论(0)

[Scala]Scala学习笔记十 模式匹配

Scala有一个十分强大的模式匹配机制.可以应用在很多场合:switch语句,类型检查等等.此外Scala还提供了样例类,对模式匹配进行了优化.1. 更好的switch如下是Scala中C风格switch语句的等效代码:var sign = 2 val ch = '+' ch match { case '+' => sign = 1 case '-' => sign = -1 case...
阅读(74) 评论(0)

[Scala]Scala学习笔记九 提取器

1. apply和update方法Scala允许你使用如下函数调用语法:f(arg1, arg2, ...) 扩展到可以应用于函数之外的值.如果f不是函数或方法,那么这个表达式就等同于调用:f.apply(arg1, arg2, ...) 如果它出现在赋值语句的等号左侧:f(arg1, arg2, ...) = value 则等同于调用:f.update(arg1, arg2, ..., valu...
阅读(89) 评论(0)

[Guava]Throwables:简化异常和错误的传播与检查

1. 异常传播有时候,你会想把捕获到的异常再次抛出。这种情况通常发生在 Error 或 RuntimeException 被捕获的时候,你没想捕获它们,但是声明捕获 Throwable 和 Exception 的时候,也包括了了 Error 或 RuntimeException。Guava 提供了若干方法,来判断异常类型并且重新传播异常。例如:try { someMethodThatCou...
阅读(81) 评论(0)

[Scala]Scala学习笔记八 高阶函数

Scala混合了面向对象和函数式的特性.在函数式编程语言中,函数可以像任何其他数据类型一样被传递和操作.如果想要给算法传入明细动作时,只需要将明细动作包在函数当中作为参数传入即可.1. 作为值的函数在Scala中,函数就和数字一样,可以在变量中存放:import scala.math._ val num = 3.14 val fun = ceil _ println(num) // 3.14 p...
阅读(92) 评论(0)

[Scala]Scala学习笔记七 正则表达式

1. Regex对象我们可以使用scala.util.matching.Regex类使用正则表达式.要构造一个Regex对象,使用String类的r方法即可:val numPattern = "[0-9]+".r 如果正则表达式包含反斜杠或引号的话,那么最好使用"原始"字符串语法"""...""":val positiveNumPattern = """^[1-9]\d*$""" 如果在Java中...
阅读(105) 评论(0)

[AirFlow]AirFlow使用指南四 DAG Operator Task

1. DAG在Airflow中,DAG或有向无环图是你运行所有任务的集合,以某种组织方式来反映所有任务之间的关系和依赖。例如,一个简单的DAG可以包括三个任务:A,B和C.可以说A必须在B运行之前成功运行,但C可以随时运行。 可以说任务A在5分钟后超时,为防止失败,B可以最多重启5次。也可以说工作流从某个特定日期开始每晚10点运行。以这种方式,DAG描述了你如何执行工作流程; 但是请注意,我们还没...
阅读(272) 评论(0)

[AirFlow]AirFlow使用指南三 第一个DAG示例

经过前两篇文章的简单介绍之后,我们安装了自己的AirFlow以及简单了解了DAG的定义文件.现在我们要实现自己的一个DAG.1. 启动Web服务器使用如下命令启用:airflow webserver 现在可以通过将浏览器导航到启动Airflow的主机上的8080端口来访问Airflow UI,例如:http://localhost:8080/admin/备注Airflow附带了许多示例DAG。 请...
阅读(611) 评论(1)

[AirFlow]AirFlow使用指南二 DAG定义文件

1. Example""" Code that goes along with the Airflow tutorial located at: https://github.com/airbnb/airflow/blob/master/airflow/example_dags/tutorial.py """ from airflow import DAG from airflow.operato...
阅读(331) 评论(0)

[AirFlow]AirFlow使用指南一 安装与启动

1. 安装通过pip安装:xiaosi@yoona:~$ pip install airflow 如果速度比较慢,可以使用下面提供的源进行安装:xiaosi@yoona:~$ pip install -i https://pypi.tuna.tsinghua.edu.cn/simple airflow 如果出现下面提示,表示你的airflow安装成功了:Successfully installed...
阅读(198) 评论(0)

[Shell]bash的良好编码实践

最好的bash脚本不仅可以工作,而且以易于理解和修改的方式编写。很多好的编码实践都是来自使用一致的变量名称和一致的编码风格。验证用户提供的参数是否正确,并检查命令是否能成功运行,以及长时间运行是否能保持可用性。下面分享一下我的工作技巧。1. 使用良好的缩进使用良好的缩进能使代码可读性更好,从而能更好的维护。当你有三级以上的逻辑时,缩进能使我们轻松的查看脚本的整体逻辑。使用多少个空格缩进并不重要,尽...
阅读(165) 评论(0)

[Scala]Scala学习笔记六 文件

1. 读取行读取文件,可以使用scala.io.Source对象的fromFile方法.如果读取所有行可以使用getLines方法:val source = Source.fromFile("/home/xiaosi/exception.txt", "UTF-8") val lineIterator = source.getLines() for(line println(line) } s...
阅读(132) 评论(0)

[Scala]Scala学习笔记五 Object

1. 单例对象Scala没有静态方法或静态字段,可以使用object来达到这个目的,对象定义了某个类的单个实例:object Account{ private var lastNumber = 0 def newUniqueNumber () = {lastNumber += 1; lastNumber} } 当你在应用程序中需要一个新的唯一账号时,调用Account.newUniqueN...
阅读(110) 评论(0)

[Scala]Scala学习笔记四 类

1. 简单类与无参方法class Person { var age = 0 // 必须初始化字段 def getAge() = age // 方法默认为公有的 } 备注在Scala中,类并不声明为public. Scala源文件可以包含多个类,所有这些类都具有公有可见性.属性不声明默认为public.使用类:val p = new Person // 或者new Person() p.ag...
阅读(134) 评论(0)

[Scala]Scala学习笔记三 Map与Tuple

1. 构造映射可以使用如下命令构造一个映射:scala> val scores = Map("Alice" -> 90, "Kim" -> 89, "Bob"-> 98) scores: scala.collection.immutable.Map[String,Int] = Map(Alice -> 90, Kim -> 89, Bob -> 98) 上面构造了一个不可变的Map[String,...
阅读(131) 评论(0)

[Git]Git指南一 查看创建删除标签

1. 查看标签列出现有标签,使用如下命令:xiaosi@yoona:~/code/learningnotes$ git tag r-000000-000000-cm.cm v1.0.0 v1.0.1 我们可以用特定的搜索模式列出符合条件的标签。如果只对1.0系列的版本感兴趣,可以运行如下命令:xiaosi@yoona:~/code/learningnotes$ git tag -l 'v1.0....
阅读(145) 评论(0)

[Scala]Scala学习笔记二 数组

1. 定长数组如果你需要一个长度不变的数组,可以使用Scala中的Array.val nums = new Array[Int](10) // 10个整数的数组 所有元素初始化为0 val strs = new Array[String](10) // 10个字符串的数组 所有元素初始化为null val s = Array("Hello", "World") // 长度为2的Array[Stri...
阅读(126) 评论(0)

[Scala]Scala学习笔记一 基础

1. 变量val定义的值实际上是一个常亮,无法改变其内容 scala> val num = 0 num: Int = 0 scala> num = 2 :12: error: reassignment to val num = 2 ^ 如果要声明其值可变的变量,可以使用varscala> var number = 0 number: Int = 0 sca...
阅读(128) 评论(0)

[Hive]HiveServer2配置

HiveServer2(HS2)是一个服务器接口,能使远程客户端执行Hive查询,并且可以检索结果。HiveServer2是HiveServer1的改进版,HiveServer1已经被废弃。HiveServer2可以支持多客户端并发和身份认证。旨在为开放API客户端(如JDBC和ODBC)提供更好的支持。这篇文章将介绍如何配置服务器端。如何使用客户端与此服务器端交互将在下篇文章中介绍。备注Hive...
阅读(494) 评论(0)

[Hive]HiveServer2概述

1. HiveServer1HiveServer是一种可选服务,允许远程客户端可以使用各种编程语言向Hive提交请求并检索结果。HiveServer是建立在Apache ThriftTM(http://thrift.apache.org/) 之上的,因此有时会被称为Thrift Server,这可能会导致混乱,因为新服务HiveServer2也是建立在Thrift之上的.自从引入HiveServe...
阅读(293) 评论(0)
802条 共41页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:1196569次
    • 积分:19421
    • 等级:
    • 排名:第457名
    • 原创:620篇
    • 转载:132篇
    • 译文:50篇
    • 评论:167条
    博客专栏
    文章分类
    最新评论