impala文档的翻译

weiqingbin 翻译了很多,赞! 电梯如下: http://my.oschina.net/weiqingbin/blog?catalog=423691

vim格式化json

在vim输入以下命令就可以格式化 :%!python -m json.tool 可以在~/.vimrc增加快捷键 map <F4> <Esc>:%!python -m json.tool<CR> 来源……

动态注册hive udf

目标

可以不重启hive服务端动态增加或更新udf,本文用到动态加载以及hive hook实现。

看看原来的代码是怎样写的

我看的是cdh4.3.0代码,目前有两个地方注册udf, 一个是在org.apache.hadoop.hive.ql.exec.FunctionRegistry类里,大部分的内置udf都是在这里注册的,很多网站都是通过修改这里代码重新打包来注册udf。 第二个是最近新增了一个hive-builtins*.jar文件,注册函数是在

public SessionState(HiveConf conf) {
...
      Class<?> pluginClass = Utilities.getBuiltinUtilsClass();
      URL jarLocation = pluginClass.getProtectionDomain().getCodeSource().getLocation();
      add_builtin_resource(ResourceType.JAR, jarLocation.toString());
      FunctionRegistry.registerFunctionsFromPluginJar(jarLocation, pluginClass.getClassLoader());
...
  }

通过找到org.apache.hive.builtins.BuiltinUtils类定位jar的位置,把jar包加入hive.added.jars.path配置里,然后通过FunctionRegistry.registerFunctionsFromPluginJar来注册udf

//我们可以用这两个方法来注册udf
public static void registerTemporaryUDF(String functionName, Class<? extends UDF> UDFClass, boolean isOperator)
public static void registerFunctionsFromPluginJar(URL jarLocation, ClassLoader classLoader)
……

使用jdbc连接impala例子

来源: https://github.com/onefoursix/Cloudera-Impala-JDBC-Example 需要依赖的lib见这篇文章。 http://www.cloudera.com/content/cloudera-content/cloudera-docs/Impala/latest/Installing-and-Using-Impala/ciiu_impala_jdbc.html import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class ClouderaImpalaJdbcExample { // here is an example query based on one……

linux expect自动登录ssh

#!/usr/bin/expect # 传送文件并且执行 set timeout 30 set host [lindex $argv 0] set username [lindex $argv 1] set password [lindex $argv 2] set file [lindex $argv 3] set center_password [lindex $argv 4] spawn scp -P22 $file……