zoukankan      html  css  js  c++  java
  • spark hive结合杂记(hive-site.xml)

    1.下载spark源码,在spark源码目录下面有个make-distribution.sh文件,修改里面的参数,使编译后能支持hive,修改后执行该文件。(要预先安装好maven才能编译)。

    2.将编译好的spark源码部署到机器上,然后将hive/conf中的hive-site.xml拷贝到spark/conf目录下。然后可以通过spark-shell来测试一下,详见:http://www.cnblogs.com/hseagle/p/3758922.html

    3.spark中使用hive要时,要启动hive server服务,在hive/bin目录下建立一个脚步文件,添加 chmod u+x filename

    nohup ./hive --service hiveserver >> hiveserver.log 2>&1 &
    echo $! > hive-server.pid

    4.在eclipse中编写spark程序时,要将spark/lib中的包倒入,spark-examples。。。.jar不用导入。如果要操作hive可能还要倒入对应的数据库jdbc驱动。

    5.在eclipse中直接运行java 版的spark hive程序时可能会会先hive的metastore不正确的,而是链接的默认metastore此时就会出现各种错误eg.no table TABLENAME, can't fetch table ...,类似的错误,我的解决办法是,将java程序打包成jar,将导出的jar包拷贝到spark/lib目录下。,然后通过参考spark/bin中的spark-submit脚本命令来执行jar程序,参考spark/bin/run-examples脚步,做了如下简化,测试后可以进行简单的无参数输入执行:

    SCALA_VERSION=2.10
    
    FWDIR="$(cd `dirname $0`/..; pwd)"
    export SPARK_HOME="$FWDIR"
    export SPARK_EXAMPLES_JAR=$SPARK_HOME/lib/YOUR_EXPORT_JAR_NAME.jar
    EXAMPLE_MASTER=${MASTER:-"local[*]"}
    EXAMPLE_CLASS=demo.wrencai.cup.SparkHiveDemo
    
    "$FWDIR"/bin/spark-submit 
      --master $EXAMPLE_MASTER 
      --class $EXAMPLE_CLASS 
      --name SparkSubmit_Demo 
      "$SPARK_EXAMPLES_JAR" 

    注意:上面的脚本中需要修改蓝色标注的两行,将红色字体分别改成你所导出的jar包名和你要执行的类名g(格式:YourPacketName.YourClassName)

  • 相关阅读:
    Hibernate缓存策略
    Hibernate初探之一对多映射 及 myeclipse自动生成hibernate文件方法
    Hibernate初探之单表映射
    01箱包问题
    oracle备份恢复
    旅游参考
    Linux中find常见用法示例
    oracle 比较两个用户表结构的区别。
    SSH自动断开连接的原因
    在Oracle中查看客户端连接的IP信息 .
  • 原文地址:https://www.cnblogs.com/wrencai/p/3934246.html
Copyright © 2011-2022 走看看