• 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)

  • 相关阅读:
    java 基础笔记
    专业人士给我的JAVA学习建议
    JAVA版2048
    学习构建之法后的疑问
    角色职责及技术需求相关思考
    使用Composer安装Yii2框架+Windows下的XAMPP部署Yii2
    MiniProgram开发--云开发(1)
    Android Studio丢失Logcat问题
    SSH异常处理记录
    Android环境搭建与通过命令行方式创建Android应用
  • 原文地址:https://www.cnblogs.com/wrencai/p/3934246.html
Copyright © 2020-2023  润新知