0


九十四、Spark-SparkSQL(整合Hive)

读取本地文件上传至Hive数据仓库

pom.xml

  1. <dependency>
  2. <groupId>org.apache.spark</groupId>
  3. <artifactId>spark-hive_2.12</artifactId>
  4. <version>${spark.version}</version>
  5. </dependency>

启动Hive的metastore(RunJar进程)

  1. nohup /home/hive/bin/hive --service metastore &

代码

  1. package org.example.SQL
  2. import org.apache.log4j.{Level, Logger}
  3. import org.apache.spark.sql.SparkSession
  4. object sql_Hive {
  5. def main(args: Array[String]): Unit = {
  6. Logger.getLogger("org").setLevel(Level.ERROR)
  7. //增加参数配置 和 HiveSQL语法支持
  8. val spark: SparkSession = SparkSession.builder().appName("test").master("local[*]")
  9. .config("spark.sql.warehouse.dir", "hdfs://192.168.231.105:8020/user/hive/warehouse")//指定Hive数据库在HDFS上的位置
  10. .config("hive.metastore.uris", "thrift://192.168.231.105:9083")//hive 的 RunJar进程
  11. .enableHiveSupport() //开启对hive语法的支持
  12. .getOrCreate()
  13. spark.sql("show databases").show()
  14. spark.sql("show tables").show()
  15. spark.sql("create table person(id int,name string,age int) row format delimited fields terminated by ' '")
  16. spark.sql("load data local inpath 'file:///E:/data/person.txt' into table person") //本地文件
  17. spark.sql("show tables").show()
  18. spark.sql("select * from person").show()
  19. }
  20. }

本地文件

打印

  1. +---------+
  2. |namespace|
  3. +---------+
  4. | db|
  5. | default|
  6. +---------+
  1. +--------+-------------+-----------+
  2. |database| tableName|isTemporary|
  3. +--------+-------------+-----------+
  4. | default| cat| false|
  5. | default| cat4| false|
  6. | default| cat_group| false|
  7. | default| cat_group1| false|
  8. | default| cat_group2| false|
  9. | default| goods| false|
  10. | default|position_hive| false|
  11. | default| tuomasi| false|
  12. +--------+-------------+-----------+
  1. +--------+-------------+-----------+
  2. |database| tableName|isTemporary|
  3. +--------+-------------+-----------+
  4. | default| cat| false|
  5. | default| cat4| false|
  6. | default| cat_group| false|
  7. | default| cat_group1| false|
  8. | default| cat_group2| false|
  9. | default| goods| false|
  10. | default| person| false|
  11. | default|position_hive| false|
  12. | default| tuomasi| false|
  13. +--------+-------------+-----------+
  1. +---+--------+---+
  2. | id| name|age|
  3. +---+--------+---+
  4. | 1|zhangsan| 20|
  5. | 2| lisi| 29|
  6. | 3| wangwu| 25|
  7. | 4| zhaoliu| 30|
  8. | 5| tianqi| 35|
  9. | 6| kobe| 40|
  10. +---+--------+---+

HDFS查看

Hive数据仓库查看

  1. hive> show tables;
  2. OK
  3. cat
  4. cat4
  5. cat_group
  6. cat_group1
  7. cat_group2
  8. goods
  9. person
  10. position_hive
  11. tuomasi
  12. Time taken: 0.128 seconds, Fetched: 9 row(s)
  13. hive> select * from person;
  14. OK
  15. 1 zhangsan 20
  16. 2 lisi 29
  17. 3 wangwu 25
  18. 4 zhaoliu 30
  19. 5 tianqi 35
  20. 6 kobe 40
  21. Time taken: 2.889 seconds, Fetched: 6 row(s)

标签: spark hadoop 运维

本文转载自: https://blog.csdn.net/m0_54925305/article/details/124074464
版权归原作者 托马斯-酷涛 所有, 如有侵权,请联系我们删除。

“九十四、Spark-SparkSQL(整合Hive)”的评论:

还没有评论