SparkSQL远程访问CDH集群Hive数据表

创建Maven项目添加如下依赖:

<dependency>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-sql_2.11</artifactId>
    <version>2.4.0</version>
</dependency>  
<dependency>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-hive_2.11</artifactId>
    <version>2.4.0</version>
</dependency>  

使用SparkSQL访问远程CDH集群Hive数据表主要用以下几种方式:

  • 第一种:通过Hive表直接访问

第一步需要配置本地Hadoop环境变量。

SparkSQL远程访问CDH集群Hive数据表

 

 然后就可以通过如下代码直接访问Hive数据表了(此时需要将集群的配置文件拷贝到resources文件下面:core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml):

SparkConf conf = new SparkConf();
conf.set("hive.metastore.uris","thrift://xxxxxxxx:9083");
SparkSession session = SparkSession.builder()
                                .appName("")
                                .master("local[3]")
                                .config(conf)
                                .enableHiveSupport()
                                .getOrCreate();
session.sql("").show();
  • 第二种:通过读取文件的方式访问(此时需要将集群的配置文件拷贝到resources文件下面:core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml)
SparkConf conf = new SparkConf();
conf.set("hive.metastore.uris","thrift://xxxxxxxx:9083");
SparkSession session = SparkSession.builder()
                                .appName("")
                                .master("local[3]")
                                .config(conf)
                                .enableHiveSupport()
                                .getOrCreate();
session.read().text("hdfs://nameservice1/......")
session.sql("").show();

 

SparkSQL远程访问CDH集群Hive数据表

上一篇:Excel & SQL | 日期和时间函数 | 05


下一篇:springboot jpa设置InnoDB引擎,mysql,与设置自定义列名