Spark JDBC入门测试

spark jdbc分支源码下载地址

  https://github.com/apache/spark/tree/branch-1.0-jdbc

编译spark jdbc

   ./make-distribution.sh --hadoop 2.3.0-cdh5.0.0 --with-yarn --with-hive --tgz

环境搭建

  参照spark环境搭建;

  在$SPARK_HOME/conf下添加hive-site.xml的配置文件(指定元数据存放的mysql信息);

  拷贝mysql驱动包到$SPARK_HOME/lib下,并在spark-env.sh文件中指定mysql驱动包路径到SPARK_CLASSPATH中;

启动

  启动thriftserver: $SPARK_HOME/sbin/start-thriftserver.sh &

  启动beeline:   $SPARK_HOME/bin/beeline -u jdbc:hive2://hadoop000:10000 -n spark -p hadoop

      -n指定thriftserver的用户名,-p指定thriftserver的密码

测试

  在benline启动的命令行中进行测试,测试语句如同hive或者shark

测试发现的问题

  1、UDF暂时无法采用add jar的方式添加:add jar /home/spark/lib/hiveudf.jar 这种方式暂时spark jdbc并不支持;

  解决办法:先将udf的jar包路径配置到SPARK_CLASSPATH下;

                    待beeline启动后通过create temporary function is_msisdn as 'com.aisainfo.ocdc.hive.udf.UDFIsMsisdn';创建udf函数并使用

      2、加载HDFS数据到表中,暂时不支持overwrite;

  3、不支持开窗函数;

 

原文地址:https://www.cnblogs.com/luogankun/p/3836131.html