磚運行時7。x遷移指南
本指南提供指導幫助您遷移從磚磚工作負載運行時6。x,基於Apache 2.4,火花磚運行時7.3 LTSorgydF4y2Ba磚運行時的7.6(不支持)(最新數據磚運行時7。xrelease), both built on Spark 3.0. The same migration considerations apply for Databricks Runtime 7.3 LTS for Machine Learning, Databricks Runtime 7.3 LTS for Genomics, and Databricks Runtime 7.6 for Machine Learning.
本指南列出了3.0引發行為變化可能需要你更新數據磚工作負載。這些變化包括完整切除Python 2支持,升級到Scala 2.12,完全支持JDK 11,開關從羅馬到預期的日曆日期和時間戳。
本指南是一個同伴磚運行時7.3 LTS遷移指南。
上可用的新特性和改進磚運行時的7.倍
的新特性,改進,和圖書館的升級包括在磚運行時7.3 LTS和磚7.6運行時,看到上麵的每個磚運行時版本發布說明你遷移。對磚運行時7。x,這些包括:
發布版本的維護更新中列出磚運行時的維護更新。
磚運行時7.3 LTS和7.6係統的環境
操作係統:Ubuntu 18.04.5 LTS
Java:
7.6:祖魯8.50.0.51-CA-linux64(構建1.8.0_275-b01)
7.3 LTS:祖魯8.48.0.53-CA-linux64(構建1.8.0_265-b11)
Scala:2.12.10
Python:3.7.5
R3.6.3 (2020-02-29)
三角洲湖0.7.0
Apache 3.0引發行為的重大變化
以下行為變化從2.4 - 3.0引發火花可能需要你更新數據磚工作負載遷移從磚運行時的6。x磚運行時的7.倍。
請注意
本文提供了重要的引發行為變化的列表時,您需要考慮遷移到磚運行時的7.倍。行為變化的完整列表,請參閱火花3.0.1遷移指南。
核心
在火花3.0中,棄用蓄電池v1。
事件日誌文件將被寫成utf - 8編碼,並引發服務器將重演曆史事件日誌文件為utf - 8編碼。以前火花寫事件日誌文件作為司機JVM進程的默認字符集,因此引發火花的曆史服務器2。x是需要讀取舊事件日誌文件不兼容的編碼。
使用的是新協議獲取洗牌街區。建議外部洗牌服務升級運行時引發3.0應用程序。你仍然可以使用舊的外部洗牌服務通過設置配置
spark.shuffle.useOldFetchProtocol
來真正的
。否則,火花可能會遇到錯誤等信息IllegalArgumentException:意想不到的消息類型:<數>
。
PySpark
在火花3.0中,
Column.getItem
是固定的,它不叫Column.apply
。因此,如果列
使用作為一個參數getItem
,應該使用索引操作符。例如,map_col.getItem(坳(id))
應該換成map_col[坳(id)]
。3.0的火花,
行
字段名稱時不再是按照字母順序排列的構造為Python版本3.6及以上命名參數,並將匹配字段的順序進入。默認啟用排序字段,如火花2.4,設置環境變量PYSPARK_ROW_FIELD_SORTING_ENABLED
來真正的
執行者和司機。這個環境變量在所有執行者和驅動程序必須是一致的。否則,它可能會導致失敗或不正確的答案。對於Python版本低於3.6,字段名稱字母順序是唯一的選擇。棄用Python 2支持(火星- 27884)。
結構化流
在火花3.0中,結構化流力源模式為nullable當文件的數據源,如文本、json、csv、拚花和獸人是通過使用
spark.readStream (…)
。以前,它尊重nullability源模式;然而,它與肺水腫難以調試的問題引起的。恢複之前的行為,集spark.sql.streaming.fileSource.schema.forceNullable
來假
。火花3.0補丁Stream-stream外連接的正確性問題,改變國家的模式。看到火星- 26154為更多的細節。如果你開始你的查詢從檢查站由火花2。xwhich uses stream-stream outer join, Spark 3.0 fails the query. To recalculate outputs, discard the checkpoint and replay previous inputs.
在火花3.0中,棄用類
org.apache.spark.sql.streaming.ProcessingTime
被移除。使用org.apache.spark.sql.streaming.Trigger.ProcessingTime
代替。同樣的,org.apache.spark.sql.execution.streaming.continuous.ContinuousTrigger
已被刪除的嗎Trigger.Continuous
,org.apache.spark.sql.execution.streaming.OneTimeTrigger
一直隱藏在忙的嗎Trigger.Once
。看到火星- 28199。
SQL、數據集和DataFrame
在火花3.0中,當一個值插入到表中列有不同的數據類型,類型強製執行按照ANSI SQL標準。某些不合理的轉換等類型轉換
字符串
來int
和雙
來布爾
是不允許。會拋出一個運行時異常,如果該值超出範圍的數據類型的列。在火花2.4和更早的版本上,類型轉換期間允許表插入,隻要他們是有效的投
。當插入一個超出範圍值積分,低階位的值插入(一樣的Java / Scala數值類型鑄造)。例如,如果插入257字節的字段類型,結果是1。行為控製的選項spark.sql.storeAssignmentPolicy
,一個默認值“ANSI”。設置選項“遺留”恢複以前的行為。在火花3.0中,當鑄造字符串值積分類型(非常小的整數,短整型,int和長整型數字),datetime類型(日期、時間戳和間隔)和布爾類型,前導和尾隨空白(< = ACSII 32)削減之前被轉換為這些類型的值,例如
鑄造('1 \ t '作為int)
返回1
,鑄造('1 \ t '作為布爾型)
返回真正的
,(“2019-10-10 \ t作為日期)
返回日期值2019-10-10
。火花2.4和更早的版本,而鑄造弦積分和布爾值,它不會削減從兩端的空白,將上述結果零
,日期時間,隻有尾隨的空格(= ASCII 32)將被刪除。看到//m.eheci.com/blog/2020/07/22/a -綜合- - - - - - -看-日期-和-時間戳- - apache -火星- 3 - 0. - html。在火花3.0中,棄用的方法
SQLContext.createExternalTable
和SparkSession.createExternalTable
已被拆除,取而代之的是他們的替代,不知道
。在火花3.0中,配置
spark.sql.crossJoin.enabled
變成內部配置,默認是正確的,那麼在默認情況下不會引發異常火花SQL和隱含的交叉連接。在火花3.0中,我們扭轉修剪函數的參數
削減(trimStrstr)
來削減(str,trimStr)
兼容其他數據庫。在火花2.4和更早的版本上,SQL查詢等
從<表>
orgydF4y2Ba從<表>聯盟所有從<表>
受到意外的支持。在hive-style從<表>選擇< expr >
,選擇
條款不可以忽略不計。蜂巢和轉眼間支持這種語法。因此,我們將把這些查詢火花3.0以來為無效。因為火花3.0,數據集和DataFrame API
unionAll
不棄用了。這是一個別名聯盟
。在火花2.4和更早的版本中,解析器的JSON數據源將空字符串視為零等一些數據類型
IntegerType
。為FloatType
和倍增式
和拋出異常,不能空字符串。由於火花3.0,我們不允許空字符串和數據類型,除了將拋出異常StringType
和BinaryType
。因為3.0,火花
from_json
支持兩種模式——功能寬容的
和FAILFAST
。可以通過設置模式模式
選擇。默認模式成為寬容的
。在以前的版本中,行為的from_json
不符合嗎寬容的
orgydF4y2BaFAILFAST,
特別是在畸形的JSON處理記錄。例如,JSON字符串{“a”1}
與模式一個INT
被轉換為零
3.0以前的版本,但引發轉換行(空)
。
DDL語句
在火花3.0中,
創建表
沒有一個特定的提供者使用的價值spark.sql.sources.default
作為其提供者。在火花版本2.4及以下,這是蜂巢。恢複之前的行為引發3.0中,您可以設置spark.sql.legacy.createHiveTableByDefault.enabled
來真正的
。在火花3.0中,當一個值插入到表中列有不同的數據類型,類型強製執行按照ANSI SQL標準。某些不合理的轉換等類型轉換
字符串
來int
和雙
來布爾
是不允許。拋出一個運行時異常時如果該值超出範圍的數據類型的列。在火花版本2.4及以下,類型轉換在表插入是允許的,隻要它們是有效的投
。當插入一個超出範圍值積分,低階位的值插入(一樣的Java / Scala數值類型鑄造)。例如,如果插入257字節的字段類型,結果是1。行為控製的選項spark.sql.storeAssignmentPolicy
,一個默認值“ANSI”。設置選項為“遺產”恢複以前的行為。在火花3.0中,
顯示創建表
總是返回火花DDL,即使給定的表是一個蜂巢SerDe表。蜂巢生成DDL,使用顯示創建表作為SERDE
命令。在火花3.0中,列的
字符
類型是不允許non-Hive-Serde表和創建/修改表
命令會失敗如果字符
類型檢測。請使用字符串
類型。在火花版本2.4及以下,字符
類型被視為字符串
類型和長度參數僅僅是忽略。
udf和內置函數
在火花3.0中,使用
org.apache.spark.sql.functions.udf (AnyRef數據類型)
在默認情況下是不允許的。集spark.sql.legacy.allowUntypedScalaUDF
來真正的
繼續使用它。在火花版本2.4及以下,如果org.apache.spark.sql.functions.udf (AnyRef數據類型)
獲得一個Scala關閉與原始類型參數,返回的UDF返回null如果輸入值是null。然而,在火花3.0中,Java類型的UDF返回默認值如果輸入值是null。例如,瓦爾f=udf (x):Int)= >x,IntegerType),f (x美元)
下麵的火花2.4和返回null如果列x為空,返回0,3.0火花。這種行為改變了因為火花3.0是用Scala 2.12默認情況下建造的。在火花版本2.4及以下,您可以創建一個地圖複製鑰匙通過內置函數
CreateMap
,StringToMap
等。地圖複製鑰匙是未定義的行為,例如,地圖查找方麵重複鍵最先出現,Dataset.collect
隻有不斷重複鍵出現,MapKeys
返回重複的鍵,等等。在3.0火花,火花拋出RuntimeException
當複製鑰匙。你可以設置spark.sql.mapKeyDedupPolicy
來LAST_WIN
刪除處理地圖鍵與去年贏得政策。用戶可能仍然從數據源讀取映射值和重複鍵不執行(例如,拚花),其行為是未定義的。
數據源
在火花版本2.4及以下,分區列值被轉換為零,如果不能提供對應的用戶模式。在3.0中,分區列值與用戶提供的模式驗證。如果驗證失敗是拋出一個異常。你可以禁用驗證通過設置
spark.sql.sources.validatePartitionColumns
來假
。在火花版本2.4及以下,JSON數據源的解析器將空字符串視為零等一些數據類型
IntegerType
。為FloatType
,倍增式
,DateType
和TimestampType
和拋出異常,不能空字符串。火花3.0不允許空的字符串,將拋出一個異常數據類型除外StringType
和BinaryType
。以前的行為允許空字符串可以通過設置恢複spark.sql.legacy.json.allowEmptyString.enabled
來真正的
。在火花3.0中,如果文件或子目錄消失在遞歸目錄清單(也就是說,他們出現在一個中間清單但不能讀或在上市後階段的遞歸目錄清單,由於並發文件刪除或對象存儲一致性問題)然後用例外,除非清單將會失敗
spark.sql.files.ignoreMissingFiles
是真正的
(默認錯誤)。在以前的版本中,這些丟失的文件或子目錄將被忽略。注意,這個改變的行為隻在初始表文件清單(或期間刷新表
),而不是在查詢執行:淨變化spark.sql.files.ignoreMissingFiles
現在遵守表文件清單和查詢計劃期間,不僅在查詢執行時間。在火花版本2.4及以下,CSV數據源轉換一個畸形的CSV與所有null字符串連續寬鬆的模式。在火花3.0中,返回的行可以包含非空字段如果CSV列值的解析並轉換為成功所需的類型。
在火花3.0中,拚花邏輯類型
TIMESTAMP_MICROS
在默認情況下使用時節省時間戳
列。在火花版本2.4及以下,時間戳
列是保存為INT96
在檢查機關文件中。注意,一些SQL係統,如蜂巢1。x和黑斑羚2。xcan only read INT96 timestamps. You can setspark.sql.parquet.outputTimestampType
作為INT96
恢複以前的行為和保持互操作性。在火花3.0中,當Avro文件編寫與用戶模式,提供匹配的字段,字段名之間的催化劑模式和Avro模式,而不是職位。
查詢引擎
在火花3.0中,數據集查詢失敗,如果它包含模糊列引用,是由自我加入。一個典型的例子:
瓦爾df1=…;瓦爾df2=df1.filter (…);然後df1.join (df2df1 (“”)>df2 (“a”))
返回一個空的結果相當令人困惑。這是因為火花不能解決數據集列引用,指向表被自我加入,和df1 (“”)
一模一樣嗎df2 (“”)
在火花。恢複之前的行為引發3.0中,您可以設置spark.sql.analyzer.failAmbiguousSelfJoin
來假
。在火花3.0中,數字用科學記數法(例如,
1 e2
)解析雙
。在火花版本2.4及以下,他們解析小數
。3.0恢複pre-Spark行為,您可以設置spark.sql.legacy.exponentLiteralAsDecimal.enabled
來真正的
。在火花3.0中,配置
spark.sql.crossJoin.enabled
成為一個內部配置,默認情況下是正確的。默認情況下火花不會提高SQL和隱含的十字架上連接異常。在火花版本2.4及以下,浮動/雙-0.0語義等於0.0,-0.0和0.0,但被認為是作為總分組關鍵字使用時不同的值,分區鍵,窗口和連接鍵。在火花3.0中,這個bug是固定的。例如,
Seq (-0.0,0.0).toDF (d) .groupBy (d) .count ()
返回[(0.0,2))
在火花3.0[(0.0,1),(-0.0,1))
在火花2.4甚至更低。在火花3.0中,
時間戳
使用SQL配置文字轉換為字符串spark.sql.session.timeZone
。在火花版本2.4及以下,使用默認時區轉換的Java虛擬機。在火花3.0中,引發投
字符串
來日期/時間戳
在二進製比較日期/時間戳。前麵的鑄造的行為日期/時間戳
來字符串
可以通過設置恢複嗎spark.sql.legacy.typeCoercion.datetimeToString.enabled
來真正的
。在火花版本2.4及以下,無效的時區ids時區格林尼治時間靜靜地被忽視,取而代之的是,例如,在
from_utc_timestamp
函數。在火花3.0中,這樣的時區id被拒絕,引發拋出java.time.DateTimeException
。在火花3.0中,預期的公曆是用於解析、格式,並將日期和時間戳等在提取子組件年,天等等。火花從Java 3.0 8使用Java API類。基於時間的包ISO年表。在火花版本2.4及以下,使用混合日曆(執行這些操作朱利安+格雷戈裏)。日期的變化影響結果在10月15日之前,1582年(公曆)和影響以下火花3.0 API:
解析/時間/日期格式化字符串。這個影響CSV / JSON數據源和
unix_timestamp
,date_format
,to_unix_timestamp
,from_unixtime
,to_date
,to_timestamp
功能模式時由用戶指定用於解析和格式化。在火花3.0中,我們定義自己的模式字符串sql-ref-datetime-pattern.md
,這是通過實現java.time.format.DateTimeFormatter
在引擎蓋下。其輸入的新實現執行嚴格的檢查。例如,2015-07-2210:00:00
如果模式是無法解析的時間戳yyyy-MM-dd
因為解析器不使用完整的輸入。另一個例子是31/01/201500:00
無法解析的輸入dd / MM / yyyyhh: mm
模式,因為hh
是以小時範圍1 - 12。在火花版本2.4及以下,java.text.SimpleDateFormat
用於時間/日期字符串轉換,和描述的支持模式simpleDateFormat。可以通過設置恢複舊的行為spark.sql.legacy.timeParserPolicy
來遺產
。的
weekofyear
,工作日
,dayofweek
,date_trunc
,from_utc_timestamp
,to_utc_timestamp
,unix_timestamp
函數使用java.time
API計算周數年,一天數星期的轉換從/到TimestampType
值在UTC時間區域。JDBC選項
下界
和upperBound
轉換為TimestampType / DateType值相同的方式TimestampType / DateType鑄造字符串值。轉換是基於預期的公曆,時區配置定義的SQLspark.sql.session.timeZone
。在火花版本2.4及以下,轉換是基於混合日曆(Julian +公曆)和係統默認時區。格式化
時間戳
和日期
字麵值。創建類型
時間戳
和日期
從字符串字麵值。在火花3.0中,字符串類型轉換時間/日期
文字是通過鑄造來執行的時間/日期
值。例如,時間戳“2019-12-2312:59:30”
語義上等於鑄造(' 2019-12-2312:59:30”作為時間戳)
。當輸入字符串不包含信息時區,時區從SQL配置spark.sql.session.timeZone
在這種情況下使用。在火花版本2.4及以下,轉換是基於JVM係統時區。默認時區的不同來源可能改變的行為類型時間戳
和日期
字麵值。
Apache蜂巢
在火花3.0中,我們升級內置的蜂巢從1.2到2.3版本帶來以下影響:
您可能需要設置
spark.sql.hive.metastore.version
和spark.sql.hive.metastore.jars
根據版本的蜂巢metastore要連接。例如:設置spark.sql.hive.metastore.version
來1.2.1 "
和spark.sql.hive.metastore.jars
來maven
如果你的蜂巢metastore版本是這次1.2.1。你需要定製並行轉換器遷移到蜂巢2.3或建立自己的火花
蜂巢- 1.2
概要文件。看到蜂巢- 15167為更多的細節。小數點字符串表示可以不同蜂巢蜂巢1.2和2.3在使用
變換
運營商在SQL腳本的轉換,這取決於蜂巢的行為。在蜂巢1.2中,字符串表示省略了落後於0。但在蜂巢2.3中,總是墊18位數0如果必要的話。磚運行時的7。x,when reading a Hive SerDe table, by default Spark disallows reading files under a subdirectory that is not a table partition. To enable it, set the configuration
spark.databricks.io.hive.scanNonpartitionedDirectory.enabled
作為真正的
。這並不影響火花原生表讀者和文件讀者。
MLlib
OneHotEncoder
棄用在2.3,在3.0和刪除OneHotEncoderEstimator
現在更名為OneHotEncoder
。org.apache.spark.ml.image.ImageSchema.readImages
棄用在2.3,在3.0刪除。使用spark.read.format('圖像')
代替。org.apache.spark.mllib.clustering.KMeans.train
與參數Int運行
棄用在2.1,在3.0刪除。使用訓練方法沒有運行。org.apache.spark.mllib.classification.LogisticRegressionWithSGD
移除棄用在2.0,在3.0中,使用org.apache.spark.ml.classification.LogisticRegression
orgydF4y2Baspark.mllib.classification.LogisticRegressionWithLBFGS
代替。org.apache.spark.mllib.feature.ChiSqSelectorModel.isSorted
棄用在2.1,在3.0,不是用於子類使用。org.apache.spark.mllib.regression.RidgeRegressionWithSGD
棄用在2.0,在3.0刪除。使用org.apache.spark.ml.regression.LinearRegression
與elasticNetParam=0.0
。注意默認regParam
是0.01RidgeRegressionWithSGD
,但0.0LinearRegression
。org.apache.spark.mllib.regression.LassoWithSGD
棄用在2.0,在3.0刪除。使用org.apache.spark.ml.regression.LinearRegression
與elasticNetParam=1.0
。注意默認regParam
是0.01LassoWithSGD
,但0.0LinearRegression
。org.apache.spark.mllib.regression.LinearRegressionWithSGD
棄用在2.0,在3.0刪除。使用org.apache.spark.ml.regression.LinearRegression
orgydF4y2BaLBFGS
代替。org.apache.spark.mllib.clustering.KMeans.getRuns
和setRuns
棄用的2.1,在3.0,火花2.0.0以來,沒有效果。org.apache.spark.ml.LinearSVCModel.setWeightCol
棄用在2.4,在3.0被移除,並不是麵向用戶。在3.0中,
org.apache.spark.ml.classification.MultilayerPerceptronClassificationModel
擴展MultilayerPerceptronParams
公開訓練參數。作為一個結果,層
在MultilayerPerceptronClassificationModel
改變了的數組(Int)
來IntArrayParam
。你應該使用MultilayerPerceptronClassificationModel.getLayers
而不是MultilayerPerceptronClassificationModel.layers
檢索層的大小。org.apache.spark.ml.classification.GBTClassifier.numTrees
2.4.5棄用,是在3.0刪除。使用getNumTrees
代替。org.apache.spark.ml.clustering.KMeansModel.computeCost
移除棄用在2.4,在3.0中,使用ClusteringEvaluator
代替。成員變量精度
org.apache.spark.mllib.evaluation.MulticlassMetrics
棄用在2.0,在3.0刪除。而是使用精度。成員變量召回
org.apache.spark.mllib.evaluation.MulticlassMetrics
棄用在2.0,在3.0刪除。使用精度
代替。的成員變量
fMeasure
在org.apache.spark.mllib.evaluation.MulticlassMetrics
棄用在2.0,在3.0刪除。使用精度
代替。org.apache.spark.ml.util.GeneralMLWriter.context
棄用在2.0,在3.0刪除。使用會話
代替。org.apache.spark.ml.util.MLWriter.context
棄用在2.0,在3.0刪除。使用會話
代替。org.apache.spark.ml.util.MLReader.context
棄用在2.0,在3.0刪除。使用會話
代替。文摘類UnaryTransformer (,出來,T<:UnaryTransformer (,出來,T]]
更改為文摘類UnaryTransformer (:類型標簽,:類型標簽,T<:UnaryTransformer (,出來,T]]
在3.0。在火花3.0中,一個多級邏輯回歸Pyspark現在將(正確地)返回
LogisticRegressionSummary
,而不是子類BinaryLogisticRegressionSummary
。額外的暴露的方法BinaryLogisticRegressionSummary
在這種情況下,無論如何也不會工作。(火星- 31681)在火花3.0中,
pyspark.ml.param.shared.Has *
mixin不提供任何設置*(自我,值)
setter方法,使用各自的self.set(自我。*,值)
代替。有關詳細信息,請參閱火花- 29093。(火星- 29093)
其他行為變化
升級到Scala 2.12涉及以下變化:
包細胞序列化處理不同。下麵的例子說明了行為改變以及如何處理它。
運行
foo.bar.MyObjectInPackageCell.run ()
如下包中定義的細胞將引發錯誤java.lang.NoClassDefFoundError:可以不初始化類foo.bar.MyObjectInPackageCell美元
包噴火。酒吧情況下類MyIntStruct(int:Int)進口org。apache。火花。sql。SparkSession進口org。apache。火花。sql。功能。_進口org。apache。火花。sql。列對象MyObjectInPackageCell擴展可序列化的{/ /因為在火花執行人SparkSession不能被創造,/ /以下行觸發誤差/ /不能初始化類foo.bar.MyObjectInPackageCell $瓦爾火花=SparkSession。構建器。getOrCreate()def噴火:Int= >選項(MyIntStruct]=(x:Int)= >一些(MyIntStruct(One hundred.))瓦爾theUDF=udf(噴火)瓦爾df={瓦爾myUDFInstance=theUDF(上校(“id”))火花。範圍(0,1,1,1)。withColumn(“u”,myUDFInstance)}def運行():單位={df。收集()。foreach(println)}}
要解決這個錯誤,你可以包裝
MyObjectInPackageCell
在一個可序列化的類。某些情況下使用
DataStreamWriter.foreachBatch
需要更新源代碼。這種變化是由於這一事實Scala 2.12從lambda表達式自動轉換到山姆類型和可能導致歧義。例如,下麵的Scala代碼不能編譯:
流。writeStream。foreachBatch{(df,id)= >myFunc(df,id)}
解決編譯錯誤,改變
foreachBatch{(df,id)= >myFunc (df,id)}
來foreachBatch (myFunc_)
或使用Java API明確:foreachBatch(新VoidFunction2…)
。
1.11.655 AWS SDK升級,使用
org.apache.hadoop.fs.s3native.NativeS3FileSystem
需要AWS簽名v4和桶端點設置。403年禁止如果用戶可能會引發錯誤配置AWS簽名v2簽署與S3N S3請求文件係統或用戶訪問S3路徑包含“+”的角色,並使用遺留S3N文件係統(例如S3N: / /桶/路徑/ +文件)。
因為Apache蜂巢蜂巢版本用於處理用戶定義函數和蜂巢並行轉換器是升級到2.3,需要兩個變化:
蜂巢的
SerDe
接口是取而代之的是一個抽象類AbstractSerDe
。對於任何定製的蜂巢SerDe
實現,遷移到AbstractSerDe
是必需的。設置
spark.sql.hive.metastore.jars
來內裝式
意味著蜂巢2.3 metastore客戶機將用於訪問metastores磚運行時的7.倍。如果你需要訪問基於蜂巢1.2外部metastores集spark.sql.hive.metastore.jars
的文件夾,其中包含蜂巢1.2罐。
不支持和刪除
數據跳過指數廢棄磚磚運行時的7. x 4.3運行時,刪除。相反,我們建議您使用三角洲表提供改進的數據跳過功能。
磚運行時的7。x,the underlying version of Apache Spark uses Scala 2.12. Since libraries compiled against Scala 2.11 can disable Databricks Runtime 7.x clusters in unexpected ways, clusters running Databricks Runtime 7.x do not install圖書館所有集群上安裝配置。集群庫選項卡顯示一個狀態
跳過
棄用的信息,解釋了圖書館處理的變化。然而,如果你有一個集群,是磚的早期版本運行時創建的之前磚平台3.20版本發布到您的工作Beplay体育安卓版本空間中,你現在編輯集群使用磚運行時7。x,一個ny libraries that were configured to be installed on all clusters will be installed on that cluster. In this case, any incompatible JARs in the installed libraries can cause the cluster to be disabled. The workaround is either to clone the cluster or to create a new cluster.
org.apache.hadoop.fs.s3native.NativeS3FileSystem
和org.apache.hadoop.fs.s3.S3FileSystem
不再支持訪問S3。我們強烈鼓勵你使用
com.databricks.s3a.S3AFileSystem
,這是默認的s3a: / /
,s3: / /
,s3n: / /
在磚運行時文件係統方案。如果你需要援助與遷移com.databricks.s3a.S3AFileSystem
,聯係磚或磚代表的支持。