国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spark On Hive原理和配置

這篇具有很好參考價值的文章主要介紹了Spark On Hive原理和配置。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

一、Spark On Hive原理

? ? ? ? (1)為什么要讓Spark On Hive?

二、MySQL安裝配置(root用戶)

? ? ? ? (1)安裝MySQL

? ? ? ? (2)啟動MySQL設(shè)置開機啟動

? ? ? ? (3)修改MySQL密碼

三、Hive安裝配置

? ? ? ? (1)修改Hadoop的core-site.xml

? ? ? ? (2)創(chuàng)建hive-site.xml

? ? ? ? (3)修改配置文件hive-env.sh

? ? ? ? (4)上傳mysql連接驅(qū)動

? ? ? ? (5)初始化元數(shù)據(jù) (Hadoop集群啟動后)? ? ??

? ? ? ? (6)創(chuàng)建logs目錄,啟動元數(shù)據(jù)服務(wù)

? ? ? ? (7)啟動Hive shell

四、Spark On Hive配置

? ? ? ? (1)創(chuàng)建hive-site.xml(spark/conf目錄)

? ? ? ? (2)放置MySQL驅(qū)動包

? ? ? ? (3)查看hive的hive-site.xml配置

? ? ? ? (4)啟動hive的MetaStore服務(wù)

? ? ? ? (5)Spark On Hive測試

? ? ? ? (6)Pycharm-spark代碼連接測試


一、Spark On Hive原理

? ? ? ? (1)為什么要讓Spark On Hive?

????????對于Spark來說,自身是一個執(zhí)行引擎。但是Spark自己沒有元數(shù)據(jù)管理功能,當(dāng)我們執(zhí)行:?SELECT * FROM person WHERE age > 10的時候, Spark完全有能力將SQL變成RDD提交。

????????但是問題是,Person的數(shù)據(jù)在哪? Person有哪些字段?字段啥類型? Spark完全不知道了。不知道這些東西,如何翻譯RDD運行。在SparkSQL代碼中可以寫SQL那是因為,表是來自DataFrame注冊的。?DataFrame中有數(shù)據(jù),有字段,有類型,足夠Spark用來翻譯RDD用.。如果以不寫代碼的角度來看,SELECT * FROM person WHERE age > 10 spark無法翻譯,因為沒有元數(shù)據(jù)。

? ? ? ? 解決方案:

? ? ? ? Spark提高執(zhí)行引擎能力,Hive的MetaStore提供元數(shù)據(jù)管理功能。選擇Hive的原因是使用Hive的用戶數(shù)量多。

Spark On Hive原理和配置,spark,hive,大數(shù)據(jù)
Hive與SparkOnHive流程示意圖

二、MySQL安裝配置(root用戶)

? ? ? ? (1)安裝MySQL

? ? ? ? 命令:

????????rpm? --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

????????rpm -Uvh https://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm

????????yum -y install mysql-community-server

Spark On Hive原理和配置,spark,hive,大數(shù)據(jù)

Spark On Hive原理和配置,spark,hive,大數(shù)據(jù)

? ? ? ? (2)啟動MySQL設(shè)置開機啟動

? ? ? ? 命令:

????????systemctl start mysqld

? ? ? ? systemctl enable mysqld

Spark On Hive原理和配置,spark,hive,大數(shù)據(jù)

? ? ? ? (3)修改MySQL密碼

? ? ? ? 命令:

? ? ? ? 查看密碼:grep 'temporary password'?/var/log/mysqld.log

? ? ? ? 修改密碼:

mysql -uroot -p? #登錄MySQL,密碼是剛剛查看的臨時密碼

set global validate_password_policy=LOW;? ?#密碼安全級別低

set? global? validate_password_length=4;? #密碼長度最低四位

ALTER USER 'root'@'localhost' IDENTIFIED BY '密碼'; # 設(shè)置用戶和密碼
# 配置遠(yuǎn)程登陸用戶以及密碼
grant all privileges on *.* to root@"%" identified by 'root' with grant option;

flush privileges;

Spark On Hive原理和配置,spark,hive,大數(shù)據(jù)

三、Hive安裝配置

? ? ? ? (1)修改Hadoop的core-site.xml

? ? ? ? 添加內(nèi)容如下:

?????<property>
? ? ? ? ? ? <name>hadoop.proxyuser.noregrets.hosts</name>
? ? ? ? ? ? <value>*</value>
? ? </property>
? ? <property>
? ? ? ? ? ? <name>hadoop.proxyuser.noregrets.groups</name>
? ? ? ? ? ? <value>*</value>
? ? </property>

Spark On Hive原理和配置,spark,hive,大數(shù)據(jù)

? ? ? ? 上傳解壓安裝Hive壓縮包并構(gòu)建軟連接
? ? ? ? 命令:

? ? ? ? 解壓:tar -zvxf apache-hive-3.1.3-bin-tar-gz -C /export/servers

? ? ? ? 構(gòu)建軟連接:ln -s /export/servers/apache-hive-3.1.3-bin/ /export/servers/hive

Spark On Hive原理和配置,spark,hive,大數(shù)據(jù)

? ? ? ? (2)創(chuàng)建hive-site.xml

? ? ? ? 命令:

? ? ? ? cd /export/servers/hive/conf

? ? ? ? vim hive-site.xml

? ? ? ? 添加內(nèi)容如下:

<configuration>

????????<!-- 存儲元數(shù)據(jù)mysql相關(guān)配置 -->

????????<property>
? ? ????????<name>javax.jdo.option.ConnectionURL</name>
? ? ????????<value>jdbc:mysql://pyspark01:3306/hive?createDatabaseIfNotExist=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8</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>root</value>

????????</property>

????????<!-- H2S運行綁定host -->

????????<property>

????????????????<name>hive.server2.thrift.bind.host</name>

????????????????<value>pyspark01</value>

????????</property>

????????<!-- 遠(yuǎn)程模式部署metastore metastore地址 -->

????????<property>

????????????????<name>hive.metastore.uris</name>

????????????????<value>thrift://pyspark01:9083</value>

????????</property>

????????<!-- 關(guān)閉元數(shù)據(jù)存儲授權(quán) -->

????????<property>

????????????????<name>hive.metastore.event.db.notification.api.auth</name>

????????????????<value>false</value>

????????</property>

</configuration>

Spark On Hive原理和配置,spark,hive,大數(shù)據(jù)

Spark On Hive原理和配置,spark,hive,大數(shù)據(jù)

? ? ? ? (3)修改配置文件hive-env.sh

? ? ? ? 命令:

? ? ? ? cd /export/servers/hive/conf

? ? ? ? cp hive-env.sh.template hive-env.sh

? ? ? ? vim hive-env.sh(修改第48行內(nèi)容)

? ? ? ? 內(nèi)容如下:

? ? ? ??export HADOOP_HOME=/export/servers/hadoop
????????export HIVE_CONF_DIR=/export/servers/hive/conf
????????export HIVE_AUX_JARS_PATH=/export/servers/hive/lib

Spark On Hive原理和配置,spark,hive,大數(shù)據(jù)

? ? ? ? (4)上傳mysql連接驅(qū)動

鏈接:https://pan.baidu.com/s/1MJ9QBsE3h1FAxuB3a4iyVw?pwd=1111?
提取碼:1111?

????????MySQL5使用5的連接版本,MySQL8使用8的連接版本。
Spark On Hive原理和配置,spark,hive,大數(shù)據(jù)

? ? ? ? (5)初始化元數(shù)據(jù) (Hadoop集群啟動后)? ? ??

????????命令:

? ? ? ? 登錄數(shù)據(jù)庫:

????????mysql -uroot -p

????????CREATE DATABASE hive CHARSET UTF8;? ? ? ? #建表

Spark On Hive原理和配置,spark,hive,大數(shù)據(jù)

Spark On Hive原理和配置,spark,hive,大數(shù)據(jù)

????????cd /export/server/hive/

????????bin/schematool -initSchema -dbType mysql -verbos

????????#初始化成功會在mysql中創(chuàng)建74張表

Spark On Hive原理和配置,spark,hive,大數(shù)據(jù)

Spark On Hive原理和配置,spark,hive,大數(shù)據(jù)

? ? ? ? (6)創(chuàng)建logs目錄,啟動元數(shù)據(jù)服務(wù)

????????命令:

? ? ? ? 創(chuàng)建文件夾:mkdir logs

? ? ? ? 啟動元數(shù)據(jù)服務(wù):nohup bin/hive --service metastore >> logs/metastore.log 2>&1 &

Spark On Hive原理和配置,spark,hive,大數(shù)據(jù)

Spark On Hive原理和配置,spark,hive,大數(shù)據(jù)

? ? ? ? (7)啟動Hive shell

? ? ? ? 命令:bin/hive(配置環(huán)境變量可直接使用hive)

Spark On Hive原理和配置,spark,hive,大數(shù)據(jù)

四、Spark On Hive配置

? ? ? ? (1)創(chuàng)建hive-site.xml(spark/conf目錄)

? ? ? ? 添加內(nèi)容如下:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!--告知Spark創(chuàng)建表存到哪里-->
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>hive.metastore.warehouse.dir</name>
? ? ? ? ? ? ? ? <value>/user/hive/warehouse</value>
? ? ? ? </property>
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>hive.metastore.local</name>
? ? ? ? ? ? ? ? <value>false</value>
? ? ? ? </property>
<!--告知Spark Hive的MetaStore在哪-->
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>hive.metastore.uris</name>
? ? ? ? ? ? ? ? <value>thrift://pyspark01:9083</value>
? ? ? ? </property>
</configuration>
Spark On Hive原理和配置,spark,hive,大數(shù)據(jù)

? ? ? ? (2)放置MySQL驅(qū)動包

Spark On Hive原理和配置,spark,hive,大數(shù)據(jù)

? ? ? ? (3)查看hive的hive-site.xml配置

? ? ? ? 確保有如下配置:

Spark On Hive原理和配置,spark,hive,大數(shù)據(jù)

? ? ? ? (4)啟動hive的MetaStore服務(wù)

? ? ? ? 命令:

????????nohup bin/hive --service metastore >> logs/metastore.log 2>&1 &

Spark On Hive原理和配置,spark,hive,大數(shù)據(jù)

? ? ? ? (5)Spark On Hive測試

? ? ? ? ①創(chuàng)建表sparkonhive

? ? ? ? 命令:

? ? ? ? 在spark目錄下:

? ? ? ? bin/spark? ? ? ? ?

? ? ? ? spark.sql('create table sparkonhive(id int)' )

Spark On Hive原理和配置,spark,hive,大數(shù)據(jù)

? ? ? ? ②進入查看查看

? ? ? ? 命令:

? ? ? ? hive目錄:

? ? ? ? bin/hive(配置過環(huán)境變量可直接使用hive)

Spark On Hive原理和配置,spark,hive,大數(shù)據(jù)

? ? ? ? (6)Pycharm-spark代碼連接測試

? ? ? ? 在Linux的sparkSQl終端或者h(yuǎn)ive終端創(chuàng)建學(xué)生表,然后使用spark代碼查詢。

? ? ? ? 命令:

? ? ? ? create table student(id int, name string);

? ? ? ? insert into student values(1,'張三'),(2, '李四');

Spark On Hive原理和配置,spark,hive,大數(shù)據(jù)

? ? ? ? 使用spark代碼查詢

? ? ? ? 在Spark代碼中加上如下內(nèi)容

Spark On Hive原理和配置,spark,hive,大數(shù)據(jù)

# cording:utf8
import string
from pyspark.sql import SparkSession
import pyspark.sql.functions as F
from pyspark.sql.types import IntegerType, StringType, StructType, ArrayType
if __name__ == '__main__':
    spark = SparkSession.builder.\
        appName('udf_define').\
        master('local[*]').\
        config('spark.sql.shuffle.partitions', 2).\
        config('spark.sql.warehouse.dir', 'hdfs://pyspark01:8020/user/hive/warehouse').\
        config('hive.metastore.uris', 'thrift://pyspark01:9083').\
        enableHiveSupport().\
        getOrCreate()
    sc = spark.sparkContext

    spark.sql('''
        SELECT * FROM student
    ''').show()

Spark On Hive原理和配置,spark,hive,大數(shù)據(jù)文章來源地址http://www.zghlxwxcb.cn/news/detail-717309.html

到了這里,關(guān)于Spark On Hive原理和配置的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 了解hive on spark和spark on hive

    了解hive on spark和spark on hive

    ? ? ? ? 大數(shù)據(jù)剛出來的時候,并不是很完善。發(fā)展的不是很快,尤其是在計算服務(wù)上,當(dāng)時使用的是第一代mr計算引擎,相對來說計算并不是那么快。讓大數(shù)據(jù)快速發(fā)展的是2009年伯克利大學(xué)誕生的spark,并在2013年成為Aparch的頂級開源項目。使大數(shù)據(jù)發(fā)展比較迅速、但是隨著

    2024年02月14日
    瀏覽(18)
  • Hadoop-HA-Hive-on-Spark 4臺虛擬機安裝配置文件

    apache-hive-3.1.3-bin.tar spark-3.0.0-bin-hadoop3.2.tgz hadoop-3.1.3.tar.gz 在hdfs上新建 spark-history(設(shè)置權(quán)限777),spark-jars文件夾 上傳jar到hdfs 鏈接hadoop中的文件 ln -s 源文件名 新文件名 鏈接hive中的文件 ln -s 源文件名 新文件名 鏈接hadoop中的文件 ln -s 源文件名 新文件名

    2024年02月07日
    瀏覽(51)
  • spark on hive

    spark on hive

    注意:需要提前搭建好hive,并對hive進行配置。并將spark配置成為spark on yarn模式。 提前創(chuàng)建好啟動日志存放路徑 mkdir $HIVE_HOME/logStart 注意:其實還是hive的thirftserver服務(wù),同時還需要啟動spark集群 連接thirftserver服務(wù)后,就可以使用hive的元數(shù)據(jù)(hive在hdfs中的數(shù)據(jù)庫和表),并且

    2024年02月07日
    瀏覽(23)
  • SparkSQL與Hive整合(Spark On Hive)

    SparkSQL與Hive整合(Spark On Hive)

    hive metastore元數(shù)據(jù)服務(wù)用來存儲元數(shù)據(jù),所謂元數(shù)據(jù),即hive中庫、表、字段、字段所屬表、表所屬庫、表的數(shù)據(jù)所在目錄及數(shù)據(jù)分區(qū)信息。元數(shù)據(jù)默認(rèn)存儲在hive自帶的Derby數(shù)據(jù)庫。在內(nèi)嵌模式和本地模式下,metastore嵌入在主hive server進程中。但在遠(yuǎn)程模式下,metastore 和 hive

    2024年02月12日
    瀏覽(27)
  • Hive on Spark (1)

    在 Apache Spark 中,Executor 是分布式計算框架中的一個關(guān)鍵組件,用于 在集群中執(zhí)行具體的計算任務(wù) 。每個 Executor 都在獨立的 JVM 進程中運行,可以在集群的多臺機器上同時存在。Executors 負(fù)責(zé)實際的數(shù)據(jù)處理、計算和任務(wù)執(zhí)行,它們執(zhí)行來自 Driver 的指令,并將計算結(jié)果返回給

    2024年02月12日
    瀏覽(26)
  • hive on spark hql 插入數(shù)據(jù)報錯 Failed to create Spark client for Spark session Error code 30041

    hive on spark hql 插入數(shù)據(jù)報錯 Failed to create Spark client for Spark session Error code 30041

    離線數(shù)倉 hive on spark 模式,hive 客戶端 sql 插入數(shù)據(jù)報錯 Failed to execute spark task, with exception \\\'org.apache.hadoop.hive.ql.metadata.HiveException(Failed to create Spark client for Spark session 50cec71c-2636-4d99-8de2-a580ae3f1c58)\\\' FAILED: Execution Error, return code 30041 from org.apache.hadoop.hive.ql.exec.spark.SparkTask. Failed t

    2024年02月14日
    瀏覽(24)
  • hive on spark內(nèi)存模型

    hive on spark內(nèi)存模型

    hive on spark的調(diào)優(yōu),那必然涉及到這一系列框架的內(nèi)存模型。本章就是來講一下這些框架的內(nèi)存模型。 hive on spark的任務(wù),從開始到結(jié)束。總共涉及了3個框架。分別是:yarn、hive、spark 其中,hive只是一個客戶端的角色。就不涉及任務(wù)運行時的內(nèi)存。所以這里主要講的yarn和spark的

    2024年04月16日
    瀏覽(18)
  • Hive on Spark環(huán)境搭建

    Hive on Spark環(huán)境搭建

    Hive 引擎包括:默認(rèn) MR、tez、spark 最底層的引擎就是MR (Mapreduce)無需配置,Hive運行自帶 Hive on Spark:Hive 既作為存儲元數(shù)據(jù)又負(fù)責(zé) SQL 的解析優(yōu)化,語法是 HQL 語法,執(zhí)行引擎變成了 Spark,Spark 負(fù)責(zé)采用 RDD 執(zhí)行。 Spark on Hive : Hive 只作為存儲元數(shù)據(jù),Spark 負(fù)責(zé) SQL 解析優(yōu)化,語

    2024年02月13日
    瀏覽(18)
  • hive修改spark版本重新編譯,hive3.1.3 on spark3.3.0

    hive修改spark版本重新編譯,hive3.1.3 on spark3.3.0

    我的是hive3.1.3 spark3.3.0(請先將自己的 hive on mr 搭建完場,有簡單了解在搞這個) 1.下載hive源碼 2. maven編譯:mvn clean -DskipTests package -Pdist (idea 編譯不行,能行的評論告訴我) 右鍵 - Git Bash idea打開項目,右鍵pom 添加成maven項目 修改pom中自己所需依賴的版本

    2023年04月21日
    瀏覽(18)
  • Spark on Hive及 Spark SQL的運行機制

    Spark on Hive及 Spark SQL的運行機制

    代碼中集成Hive: Spark SQL底層依然運行的是Spark RDD的程序,所以說Spark RDD程序的運行的流程,在Spark SQL中依然是存在的,只不過在這個流程的基礎(chǔ)上增加了從SQL翻譯為RDD的過程 Spark SQL的運行機制,其實就是在描述如何將Spark SQL翻譯為RDD程序 Catalyst內(nèi)部具體的執(zhí)行流程: 專業(yè)術(shù)

    2024年01月23日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包