【Spark學習】使用Spark SQL操作外部hive數據庫

一.基本介紹
默認情況下,spark自帶hive,可以直接在spark-shell使用spark.sql("…")來操作內置的hive數據庫

二.使用外部hive
①刪除spark中內置的hive。即刪除metastore_db和spark-warehouse文件夾
②將外部hive中的hive-site.xml文件複製到spark/conf中
③將mysql-connector-java-5.1.39.jar拷貝到jars目錄下
④重啓spark-shell
⑤這時spark.sql("…")訪問的就是外部的hive了
⑥也可以使用bin/spark-sql命令行操作hive

三.案例演示
在這裏插入圖片描述
1.將該數據文件上傳到Linux,數據默認分割符爲逗號 ,
2.在hive中創建spark數據庫
在這裏插入圖片描述
3.在spark數據庫中建表
在這裏插入圖片描述
SQL語句參考

CREATE TABLE  law ( 
ip bigint, 
area int,
ie_proxy string, 
ie_type string ,
userid string,
clientid string,
time_stamp bigint,
time_format string,
pagepath string,
ymd int,
visiturl string,
page_type string,
host string,
page_title string,
page_title_type int,
page_title_name string,
title_keyword string,
in_port string,
in_url string,
search_keyword string,
source string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' 
STORED AS TEXTFILE;

4.將上傳的文件導入數據表
在這裏插入圖片描述
5.查看錶結構
在這裏插入圖片描述
6.查看前10行
在這裏插入圖片描述
7.使用spark-shell操作hive數據表
使用spark.sql(“show databases”).show查看到了hive的中數據庫,就代表spark可以正常操作hive了
在這裏插入圖片描述
8.查看錶結構
在這裏插入圖片描述
9.查看前50行數據
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章