在inteillj idea中使用Spark操作Hive
前言:
都知道,小编前面已经简单介绍过在windows下hadoop和hive环境搭建和基本使用。这次的Spark有点突兀,但是也可以先忽略,重要的是先在IDEA中安装bigData插件连接hadoop已经HDFS,而后再简单介绍使用Spark操作Hive。
Big Data Tools安装:
1. 点击File, 选择Settings,再选择Plugins搜索Big Data Tools,最后下载安装。

2. 下载完毕后,底部和右侧栏会多出Hadoop或Big Data Tools的选项。

连接方法:
1. 进入hadoop的sbin目录,start-all启动成功,打开web控制台127.0.0.1:50070(默认),记住如下标志的节点地址,后面hdfs连接的就是这个。

2. 只要hadoop启动成功后,打开IDEA的hadoop其实就可以正常自动连接了。

3. 或者打开右侧栏的Big Data Tools,添加一个连接,Hadoop。

4. 连接Hdfs。
(1). 点击右侧栏Big Data Tools新增Hdfs。

(2). 重要的就是Authentication type,选择Explicit uri。File system URI填写的就是上面控制台的节点地址。

(3). 连接成功后就可以清晰的看到HDFS的目录,并且可以创建,删除和上传。不过需要对指定路径授权。

Hive操作:
关于操作Hive, 以下基于Maven构建Scala项目。项目创建和Hive就略过了,好像在Kafka一文中介绍过如何新建Maven的Scala,而Hive的产品还是原理介绍网上比较多,以下主要是小编的日志式记录,所以以过程居多,那么就开始了。
1. pom.xml添加如下依赖并安装(其实是我整个文件,不需要的可以根据注释删除)。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0modelVersion>
<groupId>org.examplegroupId>
<artifactId>maven_scala_testartifactId>
<version>1.0-SNAPSHOTversion>
<name>${project.artifactId}name>
<description>My wonderfull scala appdescription>
<inceptionYear>2015inceptionYear>
<licenses>
<license>
<name>My Licensename>
<url>http://....url>
<distribution>repodistribution>
license>
licenses>
<properties>
<maven.compiler.source>1.6maven.compiler.source>
<maven.compiler.target>1.6maven.compiler.target>
<encoding>UTF-8encoding>
<scala.version>2.11.5scala.version>
<scala.compat.version>2.11scala.compat.version>
<spark.version>2.2.0spark.version>
<hadoop.version>2.6.0hadoop.version>
<hbase.version>1.2.0hbase.version>
properties>
<dependencies>
<dependency>
<groupId>org.scala-langgroupId>
<artifactId>scala-libraryartifactId>
<version>${scala.version}version>
dependency>
<dependency>
<groupId>junitgroupId>
<artifactId>junitartifactId>
<version>4.11version>
dependency>
<dependency>
<groupId>org.specs2groupId>
<artifactId>specs2-core_${scala.compat.version}artifactId>
<version>2.4.16version>
dependency>
<dependency>
<groupId>org.scalatestgroupId>
<artifactId>scalatest_${scala.compat.version}artifactId>
<version>2.2.4version>
dependency>
<dependency>
<groupId>org.scala-langgroupId>
<artifactId>scala-libraryartifactId>
<version>${scala.version}version>
dependency>
<dependency>
<groupId>org.apache.sparkgroupId>
<artifactId>spark-core_2.11artifactId>
<version>${spark.version}version>
dependency>
<dependency>
<groupId>org.apache.sparkgroupId>
<artifactId>spark-sql_2.11artifactId>
<version>${spark.version}version>
dependency>
<dependency>
<groupId>org.apache.sparkgroupId>
<artifactId>spark-streaming_2.11artifactId>
<version>${spark.version}version>
<scope>providedscope>
dependency>
<dependency>
<groupId>org.apache.sparkgroupId>
<artifactId>spark-mllib_2.11artifactId>
<version>${spark.version}version>
<