本文共 1907 字,大约阅读时间需要 6 分钟。
在本节中,我们将详细介绍如何将Spark集成Hive,并完成基本的数据操作。
将Hive的配置文件复制到Spark的配置目录中,无论是软链接还是硬链接都可以。
ln -s /opt/software/hadoop/hive110/conf/hive-site.xml /opt/software/hadoop/spark244/conf/hive-site.xml
将Hive需要的JAR包复制到Spark的JAR目录中。
cp /opt/software/hadoop/hive110/lib/mysql-connector-java-5.1.32.jar /opt/software/hadoop/spark244/jars/
在Spark Shell中启用Hive支持,并指定所需的JAR包。
spark-shell --jars /opt/software/hadoop/spark244/jars/mysql-connector-java-5.1.32.jar
在Hive中创建数据库和表(操作略)。接下来我们将直接查询数据库进行演示。
在Spark SQL中查看数据库列表。
scala> spark.sql("show databases").show() 在Hive中查询数据,可以看到Spark中操作的结果。
在IDEA中集成Spark-Hive依赖。访问Maven仓库,选择第一个匹配的版本,即2.4.4,找到对应的Scala版本。
将hive-site.xml文件复制到resources资源包中,并修改Hive仓库路径。
hive.metastore.warehouse.dir hdfs://192.168.221.140:9000/opt/software/hadoop/hive110/warehouse
在MySQL中创建Hive账号并设置权限。
grant all on *.* to 'root'@'%' identified by 'kb10';grant all on *.* to 'root'@'localhost' identified by 'kb10';flush privileges;
以下是IDEA中可以使用的连接示例:
object HiveSpark { def main(args: Array[String]): Unit = { val spark = SparkSession.builder() .master("local[4]") .appName(this.getClass.getSimpleName) .enableHiveSupport() .getOrCreate() spark.sql("show databases").show() }} 在本节中,我们将详细介绍如何将Spark与MySQL进行集成。
val url = "jdbc:mysql://192.168.221.140:3306/exam"val tableName = "cron_test"val prop = new java.util.Propertiesprop.setProperty("user", "root")prop.setProperty("password", "kb10")prop.setProperty("driver", "com.mysql.jdbc.Driver") 从MySQL中读取数据并显示。
val jdbcDF = spark.read.jdbc(url, tableName, prop)jdbcDF.show
将数据写入MySQL中。
jdbcDF.write.mode("append").jdbc(url, "t2", prop) 以上就是详细的配置与操作步骤,希望对您有所帮助!
转载地址:http://jwqb.baihongyu.com/