如何使用Java程序通过JDBC访问HDInsight Hive Server

很多用户在使用HDInsight的时候,需要Java客户端访问群集的Hive Server语句、或者提交作业,在Azure的门户已经提供了使用ODBC访问Hive Server的方式(海外环境配置ODBC链接,中国环境配置ODBC链接),本文主要介绍如何让Java程序通过JDBC访问HDInsight Hive Server。 首先需要注意的是,从安全的角度,HDInsight会使用SSL安全连接,监听443端口,如下为一个示例连接字符串: jdbc:hive2://myclustername.azurehdinsight.net:443/default;ssl=true?hive.server2.transport.mode=http;hive.server2.thrift.http.path=/hive2jdbc:hive2://myclustername.azurehdinsight.cn:443/default;ssl=true?hive.server2.transport.mode=http;hive.server2.thrift.http.path=/hive2   如下步骤为一个以Maven项目为例的访问Hive Server的示例: 1. 假定已经安装好Eclipse和Maven,为了获取Maven的项目模板,请执行如下命令:       mvn archetype:generate -DgroupId=com.microsoft.css -DartifactId=HiveJdbcTest -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false 2. 修改POM.XML:默认的POM文件,并不包含HDInsight所需的Jar依赖文件,请手动添加以下依赖。 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>jdk.tools</groupId> <artifactId>jdk.tools</artifactId> <version>1.8</version> <scope>system</scope> <systemPath>${JAVA_HOME}/lib/tools.jar</systemPath> </dependency> <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-jdbc</artifactId> <version>0.14.0</version> </dependency> <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-exec</artifactId> <version>0.14.0</version> </dependency> <dependency> <groupId>org.apache.calcite</groupId> <artifactId>calcite-avatica</artifactId> <version>0.9.2-incubating</version> </dependency> <dependency> <groupId>org.apache.calcite</groupId> <artifactId>calcite-core</artifactId> <version>0.9.2-incubating</version> </dependency>…


快速创建、启动Azure虚拟机(群)

  在使用Azure Virtual Machine过程中,用户常常会遇到以下需求: l  在同一个托管服务(Cloud Service)下,快速创建多个虚拟机。 l  快速启动同一个托管服务下多个已有的虚拟机。 由于这些虚拟机从属于同一个托管服务,共用托管服务所对应的网络配置和负载映射等,因此在同时创建或者同时启动多个虚拟机的操作中,用户容易遇到以下问题:   产生这个问题的原因是:在第一台虚拟机启动初期,Azure后端尚在分配共用资源(如局域网IP)给第一台虚拟机,需要对托管服务独占式访问操作,第二台虚拟机需要在第一台虚拟机成功获取共有资源之后才能开始启动过程。   对于快速创建或启动同一托管服务下的多个虚拟机,本博文介绍一些常见的实施方法和优化步骤。   1. 了解虚拟机的创建过程和创建方法 Azure后端(Fabric)根据用户需求(虚拟机配置、网络设定等)在Azure数据中心内创建目标虚拟机,主要包括以下过程: l  在目标数据中心内找到合适的硬件资源,用于创建虚拟机。 l  Azure后端复制目标OS镜像至用户的存储账号(或使用用户预备存储在Azure Storage中的镜像) l  Azure后端安装虚拟机,启动操作系统。 l  Azure后端配置虚拟机的网络设置等。 l  Azure后端配置虚拟机的对外服务设置(VIP、Endpoint等)   因此,一个虚拟机的创建过程往往需要数分钟才能彻底完成。对于Azure用户而言,创建虚拟机的主要方法包括以下三种: A. 使用管理主页(如https://manage.windowsazure.cn)   B. 使用Azure PowerShell命令,如 NAME :  New-AzureVM SYNOPSIS  :    Creates a new Microsoft Azure virtual machine.  ————————–  EXAMPLE 1  ————————–     PS…