irpas技术客

Spark连接Hive的两种方式_修勾勾L_spark连接hive

网络投稿 6279

一、使用hive-site.xml 第一步:将集群中的hive-site.xml的内容复制出来,并放在idea项目的resources下,要求文件命名为:hive-site.xml <configuration> <property> <name>datanucleus.schema.autoCreateAll</name> <value>true</value> </property> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://192.168.38.160:3306/hive_db?createDatabaseIfNotExist=true</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>000</value> </property> </configuration> 第二步:向hive-site.xml中添加以下配置 <property> <name>hive.metastore.uris</name> <value>thrift://192.168.38.160:9083</value> </property> 第三步:将集群中的core-site.xml和hdfs-site.xml也都复制并放在idea项目的resources下,名称也要保持一致。

效果图:

第四步:编写Spark代码,验证是否连接成功

注意:pom文件配置,要与集群环境一致

如果连接不上,请打jar包然后上传到Spark上运行,maven插件的pom.xml和spark运行命令,请查看另一篇文章。

maven插件和spark上传运行命令

二、在config中配置thrift连接(简单快捷) import org.apache.spark.SparkConf import org.apache.spark.sql.SparkSession import java.util.Properties object copy_task1 { def main(args: Array[String]): Unit = { val sparkConf=new SparkConf().setMaster("local[*]").setAppName("") val spark=SparkSession.builder().config("hive.metastore.uris","thrift://192.168.38.160:9083") .config(sparkConf).enableHiveSupport().getOrCreate() spark.sql("select * from data").show() } }

简单添加配置项,将thrift配置加入到config中。

此方法只允许在联网情况下使用,因为会需要下载连接包,无网络或者其他情况下请使用第一种方式。


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #spark连接hive