精华内容
下载资源
问答
  • idea远程连接hive

    千次阅读 2018-02-09 14:12:30
    虽然网上介绍idea远程连接hive的方法挺多的,但是我还是整了一段时间才连接成功,在这边记录一下,方便他人,方便自己。首先看一下我通过xshell5远程连接hive的配置这是登陆时候的界面,可以看到我选择的是10.100.34...

    虽然网上介绍idea远程连接hive的方法挺多的,但是我还是整了一段时间才连接成功,在这边记录一下,方便他人,方便自己。

    首先看一下我通过xshell5远程连接hive的配置


    这是登陆时候的界面,可以看到我选择的是10.100.34.110这个服务器

     

    第一种,使用SSH,在idea中Tools--StartSSH session--edit

    host --172.18.254.49    Port --22   user name --zhangpanpan180108   password --******

    save password         就会进入选择select server这个界面了,OK

    第二种,使用idea database tool  1.database这个选项在view--toolWindows --database

    在右侧面可以看到database了

    2.idea没有内置hive的驱动,需要自己新建一个driver, 这边可以详细看http://blog.csdn.net/u010814849/article/details/77649724

    这里详细说一下url,url格式为:jdbc:hive2://ip地址:port端口号/database数据库

    我这里的url为jdbc:hive2://10.100.12.30:10000/dm_research

    user和password为yjy_research和****    这里我整了好久,一直不明白为什么要输入这个密码,而不是上面的user name。。。。

    再详细说一下sql进行测试,我之前用xshell一直写;,但是这样写是错误的,正确的是

    show tables

    坑死我了,一直报错,幸好找到正确的方法了

    3.还有使用java代码通过JDBC连接hive,下面是我的代码

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class hive {
    
        private static String driverName = "org.apache.hive.jdbc.HiveDriver";
        private static String url = "jdbc:hive2://localhost:10000/database";
        private static String user = "";
        private static String password = "";
        private static String sql = "";
        private static ResultSet res;
    
        public static void main(String[] args) {
            Connection conn = null;
            Statement stmt = null;
            try {
                conn = getConn();
                stmt = conn.createStatement();
    
                stmt.execute("use dm_research");
    
                selectData(stmt, "dm_research.collection");//表名
    
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
                System.exit(1);
            } catch (SQLException e) {
                e.printStackTrace();
                System.exit(1);
            } finally {
                try {
                    if (conn != null) {
                        conn.close();
                        conn = null;
                    }
                    if (stmt != null) {
                        stmt.close();
                        stmt = null;
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    
        private static void countData(Statement stmt, String tableName)
                throws SQLException {
            sql = "select count(1) from " + tableName + " limit 10";
            System.out.println("Running:" + sql);
            res = stmt.executeQuery(sql);
            System.out.println("执行“regular hive query”运行结果:");
            while (res.next()) {
                System.out.println("count ------>" + res.getString(1));
            }
        }
    
        private static void selectData(Statement stmt, String tableName)
                throws SQLException {
            sql = "select * from " + tableName + " limit 10";
            System.out.println("Running:" + sql);
            res = stmt.executeQuery(sql);
            System.out.println("执行 select * query 运行结果:");
            while (res.next()) {
                System.out.println(res.getString(1) + "\t" + res.getString(2));
            }
        }
    
    }


    展开全文
  • IDEA远程连接Hive过程

    2020-11-28 21:00:53
    IDEAl远程连接Hive过程 1. 打开idea 2.配置pom文件中的依赖 <dependencies> <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-jdbc</artifactId>...

    IDEAl远程连接Hive过程

    1.  打开idea

    2.配置pom文件中的依赖

    <dependencies>
            <dependency>
                <groupId>org.apache.hive</groupId>
                <artifactId>hive-jdbc</artifactId>
                <version>1.2.1</version>
            </dependency>
        </dependencies>

    3. 点击右侧Database

    4.  点击左上角➕,并打开DDl Data Source

    5.  点击左上叫➕,点击Apache Hive

    6.填写对应的信息

    7.  完成

    展开全文
  • 这次可以连接hive了,直接显示出了结果: 但是结尾会爆临时日志删除失败的error,但是并不影响程序,打包放到集群上运行没有任何错误,估计是spark的一个bug吧,所以放心大胆的去使用这种方法吧。 hadoop2.6.0...

    1:首先创建好一个maven项目,创建项目这一步我就不说了,如果不会的话请看我的另一篇博客,完成后在porm.xml中加入依赖,这里需要注意要有hadoop-client,且不使用默认的hhadoop-client版本。

    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-sql -->
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-sql_2.11</artifactId>
            <version>1.6.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core -->
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.11</artifactId>
            <version>1.6.0</version>
            <exclusions>
                <exclusion>
                    <!--默认是1.0.4版本,要去掉-->
                    <groupId>org.apache.hadoop</groupId>
                    <artifactId>hadoop-client</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
            <version>2.6.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-hive -->
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-hive_2.11</artifactId>
            <version>1.6.0</version>
        </dependency>
    
        <!-- mysql-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.32</version>
        </dependency>
    </dependencies>
    

    我这里是1.6.0版本的,有版本匹配的可以直接copy
    2:第一小步完成,下面随便写一个demo,并把hive-site.xml放到你的项目
    resources目录下:
    在这里插入图片描述

        val conf = new SparkConf()
          .setMaster("local").setAppName("test")
        val sc = new SparkContext(conf)
        println("程序start!")
        val hiveContext = new HiveContext(sc)
        hiveContext.sql(
          """
            |show databases
          """.stripMargin).show()
    

    右键执行,报错如下:

    java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
    

    报错1
    报错2
    这里报了两个错,第一个错误很多人都是遇到过的,没有安装本地local hadoop,在你的项目里没有涉及到与hadoop有关的内容时这个错误对程序本身没有任何影响,但是当涉及到需要连接hadoop时就必须安装本地local hadoop,第二个错误也是由于没有安装本地hadoop导致的,所以

    2:安装本地hadoop
    下载hadoop2.6.0(你自己对应的hadoop版本)的tar包,解压到本地的某个目录,这里由于是本地的windows hadoop,因此需要一些额外的插件,下载插件解压后把winutils.exe、hadoop.dll放到hadoop的bin目录下,(插件稀缺资源啊,找了大半天,所有的资源我都放最后面,这里是适用于hadoop2.4以上的,在github上有hadoop2.2的,适用于hadoop2-hadoop2.4以下的版本)
    再执行上面的demo程序,这里要配置环境变量,或者用于测试的话先直接把环境path写死在程序中

        System.setProperty("hadoop.home.dir", "D:\\hadoopHome\\hadoop-2.6.0")
        val conf = new SparkConf()
          .setMaster("local").setAppName("test")
        val sc = new SparkContext(conf)
        println("程序start!")
        val hiveContext = new HiveContext(sc)
        hiveContext.sql(
          """
            |show databases
          """.stripMargin).show()
      }
    

    然而又报错:

    Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: The root 
    
    scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: rwx------
    

    报错3
    可以看到没有写的权限,那我们就给它权限:
    hadoop bin目录下执行:winutils.exe chmod 777 \tmp\hive
    再执行程序:
    这次可以连接hive了,直接显示出了结果:
    结果
    但是结尾会爆临时日志删除失败的error,但是并不影响程序,打包放到集群上运行没有任何错误,估计是spark的一个bug吧,所以放心大胆的去使用这种方法吧。
    hadoop2.6.0下载地址
    本地hadoop的插件百度网盘地址:
    链接:https://pan.baidu.com/s/126nHNWLY28hefuzdG52Nog
    提取码:iisf
    复制这段内容后打开百度网盘手机App,操作更方便哦

    展开全文
  • 一. 前置准备 1.1 下载windows环境所需的hadoop-common-2.2.0-bin-master插件 下载地址 1.2 确保远程的hadoop集群已启动 二....2.1 引入spark整合hive的依赖 ...2.2 拷贝集群中hive-site.xml文件到IDEA的resour...

    一. 前置准备

    1.1 下载windows环境所需的hadoop-common-2.2.0-bin-master插件

    下载地址

    1.2 确保远程的hadoop集群已启动

    在这里插入图片描述

    二. 代码实现

    2.1 引入spark整合hive的依赖

    在这里插入图片描述

    2.1 拷贝集群中hive-site.xml文件到IDEA的resource目录下

    在这里插入图片描述

    2.2 拷贝集群中hive-site.xml文件到IDEA的resource目录下

    2.2.1 在main方法第一行写入如下代码 :

    System.setProperty("hadoop.home.dir", "D:\\hadoop-common-2.2.0-bin-master")
    

    2.2.2 调用enableHiveSupport() 方法以启用hive

    //如果想让hive运行在spark上,一定要开启spark对hive的支持
        val hiveContext = SparkSession.builder()
          .enableHiveSupport() //启用对hive支持
          .appName("HiveOnSpark")
          .master("local[*]")
          .getOrCreate()
    
    展开全文
  • 在搭建IDEA使用遇到了一些坑和解决了下面废话不多说,附上步骤 1.配置本地HADOOP_HOME 下载winutils的windows的版本, 地址:https://github.com/srccodes/hadoop-common-2.2.0-bin,直接下载此项目的zip包,下载...
  • 本次案例,我们使用CDH版本,版本为:hive-1.1.0-cdh5.16.2-src.tar.gz 下载链接:http://archive.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.16.2-src.tar.gz 编译Hive源码 使用git-bash编译 mvn clean package -...
  • JAVA如何连接Hive

    千次阅读 2020-06-23 20:01:52
    本文介绍通过远程windows系统上的IDEA使用jdbc连接hive并对其进行基本的查询操作。 首先建一个maven工程,导入依赖包导pom.xml <dependency> <groupId>org.apache.hive</groupId> <...
  • 很多时候,我们在编写好Spark应用程序之后,想要读取Hive表测试一下,但又不想操作 (打jar包——>上传集群——>spark-submit) 这些步骤时,我们就可以在本地直连Hive,直接run你的Spark应用程序中的main函数...
  • 1、进入hive目录 cd /usr/local/hive 2、开启hiveserver2 ./bin/hive --service hiveserver2 3、打开beeline beeline 4、连接 ...connect jdbc:hive2://brace:10000 ...5、在idea连接hive数据库进行操作
  • 准备用idea搭建项目,spark远程调试,遇到了这个错 java.io.IOException: (null) entry in command string: null ls -F D:\tmp\hive 错误的原因 1、Window没有Hadoop的解压文件,更没有配置环境变量 2、缺少...
  • 第一部分 远程提交 本文以WordCount程序来实现idea对spark程序进行远程提交和调试 ...若要把 Spark SQL 连接到一个部署好的 Hive 上,你必须把 hive-site.xml 复制到 Spark的配置文件目录中($SPARK_HOME/c
  • 在windows idea中编辑代码,运行driver,连接远程master,运行程序,可同步运行查看日志,可单步调试如果连接hive需要在本机src中配置hive-site.xml中的 hive.metastore.uris配置本地hadoop_home,下载
  • 典型配置: spark在linux中以standalone方式运行,配置参数如下:“spark-env配置参数 ”。...如果连接hive需要在本机src中配置hive-site.xml中的 hive.metastore.uris 配置本地hadoop_home,下载winutils...
  • 关于windows下的hadoop环境配置请参照以下链接 ...spm=1001.2101.3001.4242 关于snappy的native library的问题,IDEA无法直接连接远程hive表压缩数据的问题 请下载添加sna
  • 《TLS加密远程连接Docker》 《CentOS部署Harbor镜像仓库》 《Docker常用命令小记》 《一行命令安装docker和docker-compose(CentOS7)》 《极速体验docker容器健康》 《Java应用在docker环境配置容器健康检查》 ...
  • DataX :DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的...

空空如也

空空如也

1 2
收藏数 22
精华内容 8
关键字:

idea远程连接hive