最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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篇(十五)的評論 (共 條)

分享到微博請遵守國家法律
公主岭市| 冀州市| 葫芦岛市| 乌拉特后旗| 衡阳县| 余姚市| 靖远县| 虎林市| 错那县| 柳河县| 怀集县| 泌阳县| 盘锦市| 鄂托克前旗| 玉溪市| 芦山县| 随州市| 东阿县| 简阳市| 沁水县| 建昌县| 都安| 赤城县| 苏州市| 高密市| 宜丰县| 古田县| 静乐县| 内丘县| 孝义市| 昌江| 化德县| 中卫市| 云龙县| 竹山县| 长子县| 从江县| 济宁市| 金平| 阳西县| 永春县|