五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

鎖屏面試題百日百刷-Spark篇(十五)

2023-03-27 13:15 作者:zjlala96  | 我要投稿

鎖屏面試題百日百刷,每個工作日堅持更新面試題。鎖屏面試題app、小程序現(xiàn)已上線,官網(wǎng)地址:https://www.demosoftware.cn。已收錄了每日更新的面試題的所有內(nèi)容,還包含特色的解鎖屏幕復(fù)習(xí)面試題、每日編程題目郵件推送等功能。讓你在面試中先人一步!接下來的是今日的面試題:


1.spark怎么整合hive?

1)將hive的配置文件hive-site.xml復(fù)制到Spark conf目錄下

2)根據(jù)hive的配置參數(shù)hive.metastore.uris的情況,采用不同的集成方式

a. jdbc方式:hive.metastore.uris沒有給定配置值,為空(默認情況),SparkSQL通過hive配置的javax.jdo.option.XXX相關(guān)配置值直接連接metastore數(shù)據(jù)庫直接獲取hive表元數(shù)據(jù), 需要將連接數(shù)據(jù)庫的驅(qū)動添加到Spark應(yīng)用的classpath中

b.metastore服務(wù)方式:hive.metastore.uris給定了具體的參數(shù)值,SparkSQL通過連接hive提供的metastore服務(wù)來獲取hive表的元數(shù)據(jù), 直接啟動hive的metastore服務(wù)即可完成SparkSQL和Hive的集成:

3)使用metastore服務(wù)方式,對hive-site.xml進行配置

<property>

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

<value> trhift://mfg-hadoop:9083</value>

</property>

4)啟動hive service metastore服務(wù)

bin/hive --service metastore &

5)啟動spark-sql測試,執(zhí)行 show databases命令,檢查是不是和hive的數(shù)據(jù)庫一樣的。

2.Spark讀取數(shù)據(jù),是幾個Partition呢?

從2方面介紹和回答,一是說下partition是什么,二是說下partition如何建的。

1)spark中的partion是彈性分布式數(shù)據(jù)集RDD的最小單元,RDD是由分布在各個節(jié)點上的partion組成的。partion是指的spark在計算過程中,生成的數(shù)據(jù)在計算空間內(nèi)最小單元,同一份數(shù)據(jù)(RDD)的partion大小不一,

數(shù)量不定,是根據(jù)application里的算子和最初讀入的數(shù)據(jù)分塊數(shù)量決定的,這也是為什么叫“彈性分布式”數(shù)據(jù)集的原因之一。Partition不會根據(jù)文件的偏移量來截取的(比如有3個Partition,1個是頭多少M的數(shù)據(jù),1個是中間多少M的數(shù)據(jù),1個是尾部多少M的數(shù)據(jù)),而是從一個原文件這個大的集合里根據(jù)某種計算規(guī)則抽取符合的數(shù)據(jù)來形成一個Partition的;

2)如何創(chuàng)建分區(qū),有兩種情況,創(chuàng)建 RDD 時和通過轉(zhuǎn)換操作得到新 RDD 時。對于前者,在調(diào)用 textFile 和parallelize 方法時候手動指定分區(qū)個數(shù)即可。例如 sc.parallelize(Array(1, 2, 3, 5, 6), 2) 指定創(chuàng)建得到的 RDD 分區(qū)個數(shù)為 2。如果沒有指定,partition數(shù)等于block數(shù);對于后者,直接調(diào)用 repartition 方法即可。實際上分區(qū)的個數(shù)是根據(jù)轉(zhuǎn)換操作對應(yīng)多個 RDD 之間的依賴關(guān)系來確定,窄依賴子 RDD 由父 RDD 分區(qū)個數(shù)決定,例如 map操作,父 RDD 和子 RDD 分區(qū)個數(shù)一致;Shuffle 依賴則由分區(qū)器(Partitioner)決定,例如 groupByKey(new HashPartitioner(2)) 或者直接 groupByKey(2) 得到的新 RDD 分區(qū)個數(shù)等于 2。

3.spark-submit的時候如何引入外部jar包

方法一:spark-submit –jars

根據(jù)spark官網(wǎng),在提交任務(wù)的時候指定–jars,用逗號分開。這樣做的缺點是每次都要指定jar包,如果jar包少的話可以這么做,但是如果多的話會很麻煩。

命令:spark-submit --master yarn-client --jars ***.jar,***.jar

方法二:extraClassPath

提交時在spark-default中設(shè)定參數(shù),將所有需要的jar包考到一個文件里,然后在參數(shù)中指定該目錄就可以了,較上一個方便很多:

spark.executor.extraClassPath=/home/hadoop/wzq_workspace/lib/*

spark.driver.extraClassPath=/home/hadoop/wzq_workspace/lib/* 需要注意的是,你要在所有可能運行spark任務(wù)的機器上保證該目錄存在,并且將jar包考到所有機器上。這樣

做的好處是提交代碼的時候不用再寫一長串jar了,缺點是要把所有的jar包都拷一遍。

鎖屏面試題百日百刷-Spark篇(十五)的評論 (共 條)

分享到微博請遵守國家法律
夏河县| 伊吾县| 黄龙县| 凌海市| 黄大仙区| 白山市| 弋阳县| 木里| 元谋县| 乌恰县| 泊头市| 新疆| 探索| 马公市| 汉沽区| 灵寿县| 武邑县| 宜兰市| 台安县| 长治县| 平陆县| 广西| 吐鲁番市| 湾仔区| 大荔县| 紫阳县| 桂林市| 上高县| 大石桥市| 花莲县| 昭通市| 赤壁市| 章丘市| 运城市| 青岛市| 平塘县| 慈溪市| 大姚县| 中超| 南溪县| 二连浩特市|