傳統的可視化gydF4y2Ba

本文描述了傳統的Databricks可視化。看到gydF4y2Ba可視化gydF4y2Ba用於當前的可視化支持。gydF4y2Ba

Databricks還支持Python和R中的可視化庫,並允許您安裝和使用第三方庫。gydF4y2Ba

創建遺留可視化gydF4y2Ba

若要從結果單元格創建遺留可視化,請單擊gydF4y2Ba+gydF4y2Ba並選擇gydF4y2Ba遺留的可視化gydF4y2Ba。gydF4y2Ba

遺留可視化支持豐富的繪圖類型集:gydF4y2Ba

圖表類型gydF4y2Ba

選擇並配置遺留圖表類型gydF4y2Ba

單擊柱狀圖圖標,選擇柱狀圖gydF4y2Ba圖表按鈕gydF4y2Ba:gydF4y2Ba

柱狀圖圖標gydF4y2Ba

若要選擇其他繪圖類型,請單擊gydF4y2Ba紐扣gydF4y2Ba在柱狀圖的右邊gydF4y2Ba圖表按鈕gydF4y2Ba然後選擇繪圖類型。gydF4y2Ba

遺留圖表工具欄gydF4y2Ba

折線圖和柱狀圖都有內置工具欄,支持豐富的客戶端交互。gydF4y2Ba

圖工具欄gydF4y2Ba

單擊,配置圖表gydF4y2Ba情節選項…gydF4y2Ba。gydF4y2Ba

繪圖選項gydF4y2Ba

折線圖有幾個自定義圖表選項:設置y軸範圍,顯示和隱藏點,以及用對數刻度顯示y軸。gydF4y2Ba

有關遺留圖表類型的信息,請參見:gydF4y2Ba

各圖表的顏色一致性gydF4y2Ba

Databricks在遺留圖表中支持兩種顏色一致性:係列集和全局。gydF4y2Ba

係列組gydF4y2Ba顏色一致性將相同的顏色賦給相同的值,如果您有相同的值,但順序不同(例如,A =gydF4y2Ba["蘋果",gydF4y2Ba“橙色”,gydF4y2Ba“香蕉”)gydF4y2Baand B =gydF4y2Ba["橙色",gydF4y2Ba“香蕉”,gydF4y2Ba“蘋果”)gydF4y2Ba).值在繪圖之前被排序,因此兩個圖例以相同的方式排序(gydF4y2Ba["蘋果",gydF4y2Ba“香蕉”,gydF4y2Ba“橙色”)gydF4y2Ba),相同的值被賦予相同的顏色。但是,如果你有一個級數C =gydF4y2Ba["橙色",gydF4y2Ba“香蕉”)gydF4y2Ba它的顏色和集合A不一致,因為集合不一樣。排序算法將第一個顏色分配給集合C中的“Banana”,而第二個顏色分配給集合a中的“Banana”。如果您希望這些係列顏色一致,您可以指定圖表應該具有全局顏色一致性。gydF4y2Ba

在gydF4y2Ba全球gydF4y2Ba顏色一致性,每個值總是映射到相同的顏色,無論什麼值的係列。要為每個圖表啟用此功能,請選擇gydF4y2Ba全局顏色一致性gydF4y2Ba複選框。gydF4y2Ba

全局顏色一致性gydF4y2Ba

請注意gydF4y2Ba

為了達到這種一致性,Databricks直接從值散列到顏色。為了避免衝突(兩個值的顏色完全相同),哈希是一個大的顏色集,這有一個副作用,好看或容易區分的顏色不能保證;有許多顏色,必然有一些看起來非常相似。gydF4y2Ba

機器學習可視化gydF4y2Ba

除了標準圖表類型之外,傳統可視化還支持以下機器學習訓練參數和結果:gydF4y2Ba

殘差gydF4y2Ba

對於線性和邏輯回歸,您可以呈現一個gydF4y2Ba擬合與殘差gydF4y2Ba情節。要獲得這個圖,請提供模型和DataFrame。gydF4y2Ba

下麵的示例對城市人口與房屋銷售價格數據進行線性回歸,然後顯示與擬合數據的殘差。gydF4y2Ba

#加載數據gydF4y2Bapop_dfgydF4y2Ba=gydF4y2Ba火花gydF4y2Ba。gydF4y2Ba讀gydF4y2Ba。gydF4y2BacsvgydF4y2Ba(gydF4y2Ba“/ databricks-datasets /樣本/ population-vs-price / data_geo.csv”gydF4y2Ba,gydF4y2Ba頭gydF4y2Ba=gydF4y2Ba“真正的”gydF4y2Ba,gydF4y2BainferSchemagydF4y2Ba=gydF4y2Ba“真正的”gydF4y2Ba)gydF4y2Ba#刪除缺失值的行,重命名特征和標簽列,用_替換空格gydF4y2Ba從gydF4y2Bapyspark.sql.functionsgydF4y2Ba進口gydF4y2Ba上校gydF4y2Bapop_dfgydF4y2Ba=gydF4y2Bapop_dfgydF4y2Ba。gydF4y2BadropnagydF4y2Ba()gydF4y2Ba#刪除缺少值的行gydF4y2BaexprsgydF4y2Ba=gydF4y2Ba[gydF4y2Ba上校gydF4y2Ba(gydF4y2Ba列gydF4y2Ba)gydF4y2Ba。gydF4y2Ba別名gydF4y2Ba(gydF4y2Ba列gydF4y2Ba。gydF4y2Ba取代gydF4y2Ba(gydF4y2Ba' 'gydF4y2Ba,gydF4y2Ba“_”gydF4y2Ba))gydF4y2Ba為gydF4y2Ba列gydF4y2Ba在gydF4y2Bapop_dfgydF4y2Ba。gydF4y2Ba列gydF4y2Ba]gydF4y2Ba#注冊一個UDF,將特征(2014_Population_estimate)列向量轉換為VectorUDT類型,並將其應用於列。gydF4y2Ba從gydF4y2Bapyspark.ml.linalggydF4y2Ba進口gydF4y2Ba向量gydF4y2Ba,gydF4y2BaVectorUDTgydF4y2Ba火花gydF4y2Ba。gydF4y2BaudfgydF4y2Ba。gydF4y2Ba注冊gydF4y2Ba(gydF4y2Ba“oneElementVec”gydF4y2Ba,gydF4y2BaλgydF4y2BadgydF4y2Ba:gydF4y2Ba向量gydF4y2Ba。gydF4y2Ba密集的gydF4y2Ba([gydF4y2BadgydF4y2Ba]),gydF4y2BareturnTypegydF4y2Ba=gydF4y2BaVectorUDTgydF4y2Ba())gydF4y2BatdatagydF4y2Ba=gydF4y2Bapop_dfgydF4y2Ba。gydF4y2Ba選擇gydF4y2Ba(gydF4y2Ba*gydF4y2BaexprsgydF4y2Ba)gydF4y2Ba。gydF4y2BaselectExprgydF4y2Ba(gydF4y2Ba“oneElementVec(2014_Population_estimate)作為特征”gydF4y2Ba,gydF4y2Ba"2015_median_sales_price作為標簽"gydF4y2Ba)gydF4y2Ba運行線性回歸gydF4y2Ba從gydF4y2Bapyspark.ml.regressiongydF4y2Ba進口gydF4y2BaLinearRegressiongydF4y2BalrgydF4y2Ba=gydF4y2BaLinearRegressiongydF4y2Ba()gydF4y2Ba模型gydF4y2Ba=gydF4y2BalrgydF4y2Ba。gydF4y2Ba適合gydF4y2Ba(gydF4y2BatdatagydF4y2Ba,gydF4y2Ba{gydF4y2BalrgydF4y2Ba。gydF4y2BaregParamgydF4y2Ba:gydF4y2Ba0.0gydF4y2Ba})gydF4y2Ba繪製殘差與擬合數據gydF4y2Ba顯示gydF4y2Ba(gydF4y2Ba模型gydF4y2Ba,gydF4y2BatdatagydF4y2Ba)gydF4y2Ba
顯示殘差gydF4y2Ba

ROC曲線gydF4y2Ba

對於邏輯回歸,您可以呈現一個gydF4y2Ba中華民國gydF4y2Ba曲線。要獲得此圖,請提供模型,即輸入到的準備好的數據gydF4y2Ba適合gydF4y2Ba方法和參數gydF4y2Ba“中華民國”gydF4y2Ba。gydF4y2Ba

下麵的示例開發了一個分類器,通過個人的各種屬性預測個人年收入<=50K或> 50K。成人數據集來源於人口普查數據,包括48842個人及其年收入的信息。gydF4y2Ba

本節中的示例代碼使用單熱編碼。gydF4y2Ba

這段代碼使用單熱編碼將所有分類變量轉換為二進製向量。gydF4y2Ba模式gydF4y2Ba=gydF4y2Ba”“”“年齡”雙,gydF4y2Ba“workclass”字符串,gydF4y2Ba“fnlwgt”雙,gydF4y2Ba“教育”的字符串,gydF4y2Ba“education_num”雙,gydF4y2Ba“marital_status”字符串,gydF4y2Ba“占領”字符串,gydF4y2Ba“關係”的字符串,gydF4y2Ba“種族”的字符串,gydF4y2Ba“性”的字符串,gydF4y2Ba“capital_gain”雙,gydF4y2Ba“capital_loss”雙,gydF4y2Ba“hours_per_week”雙,gydF4y2Ba“native_country”字符串,gydF4y2Ba“收入”字符串" " "gydF4y2Ba數據集gydF4y2Ba=gydF4y2Ba火花gydF4y2Ba。gydF4y2Ba讀gydF4y2Ba。gydF4y2BacsvgydF4y2Ba(gydF4y2Ba“databricks-datasets /成人/ adult.data”gydF4y2Ba,gydF4y2Ba模式gydF4y2Ba=gydF4y2Ba模式gydF4y2Ba)gydF4y2Ba從gydF4y2Bapyspark.mlgydF4y2Ba進口gydF4y2Ba管道gydF4y2Ba從gydF4y2Bapyspark.ml.featuregydF4y2Ba進口gydF4y2BaOneHotEncodergydF4y2Ba,gydF4y2BaStringIndexergydF4y2Ba,gydF4y2BaVectorAssemblergydF4y2BacategoricalColumnsgydF4y2Ba=gydF4y2Ba[gydF4y2Ba“workclass”gydF4y2Ba,gydF4y2Ba“教育”gydF4y2Ba,gydF4y2Ba“marital_status”gydF4y2Ba,gydF4y2Ba“占領”gydF4y2Ba,gydF4y2Ba“關係”gydF4y2Ba,gydF4y2Ba“種族”gydF4y2Ba,gydF4y2Ba“性”gydF4y2Ba,gydF4y2Ba“native_country”gydF4y2Ba]gydF4y2Ba階段gydF4y2Ba=gydF4y2Ba[]gydF4y2Ba#管道中的階段gydF4y2Ba為gydF4y2BacategoricalColgydF4y2Ba在gydF4y2BacategoricalColumnsgydF4y2Ba:gydF4y2Ba使用StringIndexer創建類別索引gydF4y2BastringIndexergydF4y2Ba=gydF4y2BaStringIndexergydF4y2Ba(gydF4y2BainputColgydF4y2Ba=gydF4y2BacategoricalColgydF4y2Ba,gydF4y2BaoutputColgydF4y2Ba=gydF4y2BacategoricalColgydF4y2Ba+gydF4y2Ba“指數”gydF4y2Ba)gydF4y2Ba使用OneHotEncoder將分類變量轉換為二進製SparseVectorsgydF4y2Ba編碼器gydF4y2Ba=gydF4y2BaOneHotEncodergydF4y2Ba(gydF4y2BainputColsgydF4y2Ba=gydF4y2Ba[gydF4y2BastringIndexergydF4y2Ba。gydF4y2BagetOutputColgydF4y2Ba()),gydF4y2BaoutputColsgydF4y2Ba=gydF4y2Ba[gydF4y2BacategoricalColgydF4y2Ba+gydF4y2Ba“classVec”gydF4y2Ba])gydF4y2Ba#添加階段。這些不會在這裏運行,但是稍後會同時運行。gydF4y2Ba階段gydF4y2Ba+ =gydF4y2Ba[gydF4y2BastringIndexergydF4y2Ba,gydF4y2Ba編碼器gydF4y2Ba]gydF4y2Ba使用StringIndexer將標簽轉換為標簽索引gydF4y2Balabel_stringIdxgydF4y2Ba=gydF4y2BaStringIndexergydF4y2Ba(gydF4y2BainputColgydF4y2Ba=gydF4y2Ba“收入”gydF4y2Ba,gydF4y2BaoutputColgydF4y2Ba=gydF4y2Ba“標簽”gydF4y2Ba)gydF4y2Ba階段gydF4y2Ba+ =gydF4y2Ba[gydF4y2Balabel_stringIdxgydF4y2Ba]gydF4y2Ba使用VectorAssembler將所有特征轉換為向量gydF4y2BanumericColsgydF4y2Ba=gydF4y2Ba[gydF4y2Ba“年齡”gydF4y2Ba,gydF4y2Ba“fnlwgt”gydF4y2Ba,gydF4y2Ba“education_num”gydF4y2Ba,gydF4y2Ba“capital_gain”gydF4y2Ba,gydF4y2Ba“capital_loss”gydF4y2Ba,gydF4y2Ba“hours_per_week”gydF4y2Ba]gydF4y2BaassemblerInputsgydF4y2Ba=gydF4y2Ba[gydF4y2BacgydF4y2Ba+gydF4y2Ba“classVec”gydF4y2Ba為gydF4y2BacgydF4y2Ba在gydF4y2BacategoricalColumnsgydF4y2Ba]gydF4y2Ba+gydF4y2BanumericColsgydF4y2Ba彙編程序gydF4y2Ba=gydF4y2BaVectorAssemblergydF4y2Ba(gydF4y2BainputColsgydF4y2Ba=gydF4y2BaassemblerInputsgydF4y2Ba,gydF4y2BaoutputColgydF4y2Ba=gydF4y2Ba“特征”gydF4y2Ba)gydF4y2Ba階段gydF4y2Ba+ =gydF4y2Ba[gydF4y2Ba彙編程序gydF4y2Ba]gydF4y2Ba#將階段作為管道運行。這將使數據在一次調用中通過所有特征轉換。gydF4y2BapartialPipelinegydF4y2Ba=gydF4y2Ba管道gydF4y2Ba()gydF4y2Ba。gydF4y2BasetStagesgydF4y2Ba(gydF4y2Ba階段gydF4y2Ba)gydF4y2BapipelineModelgydF4y2Ba=gydF4y2BapartialPipelinegydF4y2Ba。gydF4y2Ba適合gydF4y2Ba(gydF4y2Ba數據集gydF4y2Ba)gydF4y2BapreppedDataDFgydF4y2Ba=gydF4y2BapipelineModelgydF4y2Ba。gydF4y2Ba變換gydF4y2Ba(gydF4y2Ba數據集gydF4y2Ba)gydF4y2Ba擬合邏輯回歸模型gydF4y2Ba從gydF4y2Bapyspark.ml.classificationgydF4y2Ba進口gydF4y2BaLogisticRegressiongydF4y2BalrModelgydF4y2Ba=gydF4y2BaLogisticRegressiongydF4y2Ba()gydF4y2Ba。gydF4y2Ba適合gydF4y2Ba(gydF4y2BapreppedDataDFgydF4y2Ba)gydF4y2Ba數據# ROCgydF4y2Ba顯示gydF4y2Ba(gydF4y2BalrModelgydF4y2Ba,gydF4y2BapreppedDataDFgydF4y2Ba,gydF4y2Ba“中華民國”gydF4y2Ba)gydF4y2Ba
展示中華民國gydF4y2Ba

要顯示殘差,請省略gydF4y2Ba“中華民國”gydF4y2Ba參數:gydF4y2Ba

顯示gydF4y2Ba(gydF4y2BalrModelgydF4y2Ba,gydF4y2BapreppedDataDFgydF4y2Ba)gydF4y2Ba
顯示邏輯回歸殘差gydF4y2Ba

決策樹gydF4y2Ba

遺留可視化支持呈現決策樹。gydF4y2Ba

要獲得這種可視化,請提供決策樹模型。gydF4y2Ba

下麵的示例訓練樹從手寫數字圖像的MNIST數據集中識別數字(0 - 9),然後顯示樹。gydF4y2Ba

trainingDFgydF4y2Ba=gydF4y2Ba火花gydF4y2Ba。gydF4y2Ba讀gydF4y2Ba。gydF4y2Ba格式gydF4y2Ba(gydF4y2Ba“libsvm”gydF4y2Ba)gydF4y2Ba。gydF4y2Ba負載gydF4y2Ba(gydF4y2Ba“/ databricks-datasets / mnist-digits /數據- 001 / mnist-digits-train.txt”gydF4y2Ba)gydF4y2Ba。gydF4y2Ba緩存gydF4y2Ba()gydF4y2BatestDFgydF4y2Ba=gydF4y2Ba火花gydF4y2Ba。gydF4y2Ba讀gydF4y2Ba。gydF4y2Ba格式gydF4y2Ba(gydF4y2Ba“libsvm”gydF4y2Ba)gydF4y2Ba。gydF4y2Ba負載gydF4y2Ba(gydF4y2Ba“/ databricks-datasets / mnist-digits /數據- 001 / mnist-digits-test.txt”gydF4y2Ba)gydF4y2Ba。gydF4y2Ba緩存gydF4y2Ba()gydF4y2Ba從gydF4y2Bapyspark.ml.classificationgydF4y2Ba進口gydF4y2BaDecisionTreeClassifiergydF4y2Ba從gydF4y2Bapyspark.ml.featuregydF4y2Ba進口gydF4y2BaStringIndexergydF4y2Ba從gydF4y2Bapyspark.mlgydF4y2Ba進口gydF4y2Ba管道gydF4y2Ba索引器gydF4y2Ba=gydF4y2BaStringIndexergydF4y2Ba()gydF4y2Ba。gydF4y2BasetInputColgydF4y2Ba(gydF4y2Ba“標簽”gydF4y2Ba)gydF4y2Ba。gydF4y2BasetOutputColgydF4y2Ba(gydF4y2Ba“indexedLabel”gydF4y2Ba)gydF4y2Ba直接轉矩gydF4y2Ba=gydF4y2BaDecisionTreeClassifiergydF4y2Ba()gydF4y2Ba。gydF4y2BasetLabelColgydF4y2Ba(gydF4y2Ba“indexedLabel”gydF4y2Ba)gydF4y2Ba#鏈索引器+ dtc一起成為一個單一的ML管道。gydF4y2Ba管道gydF4y2Ba=gydF4y2Ba管道gydF4y2Ba()gydF4y2Ba。gydF4y2BasetStagesgydF4y2Ba([gydF4y2Ba索引器gydF4y2Ba,gydF4y2Ba直接轉矩gydF4y2Ba])gydF4y2Ba模型gydF4y2Ba=gydF4y2Ba管道gydF4y2Ba。gydF4y2Ba適合gydF4y2Ba(gydF4y2BatrainingDFgydF4y2Ba)gydF4y2Ba顯示gydF4y2Ba(gydF4y2Ba模型gydF4y2Ba。gydF4y2Ba階段gydF4y2Ba[gydF4y2Ba-gydF4y2Ba1gydF4y2Ba])gydF4y2Ba
瓦爾gydF4y2BatrainingDFgydF4y2Ba=gydF4y2Ba火花gydF4y2Ba。gydF4y2Ba讀gydF4y2Ba。gydF4y2Ba格式gydF4y2Ba(gydF4y2Ba“libsvm”gydF4y2Ba).gydF4y2Ba負載gydF4y2Ba(gydF4y2Ba“/ databricks-datasets / mnist-digits /數據- 001 / mnist-digits-train.txt”gydF4y2Ba).gydF4y2Ba緩存gydF4y2Ba瓦爾gydF4y2BatestDFgydF4y2Ba=gydF4y2Ba火花gydF4y2Ba。gydF4y2Ba讀gydF4y2Ba。gydF4y2Ba格式gydF4y2Ba(gydF4y2Ba“libsvm”gydF4y2Ba).gydF4y2Ba負載gydF4y2Ba(gydF4y2Ba“/ databricks-datasets / mnist-digits /數據- 001 / mnist-digits-test.txt”gydF4y2Ba).gydF4y2Ba緩存gydF4y2Ba進口gydF4y2BaorggydF4y2Ba。gydF4y2BaapachegydF4y2Ba。gydF4y2Ba火花gydF4y2Ba。gydF4y2Ba毫升gydF4y2Ba。gydF4y2Ba分類gydF4y2Ba。{gydF4y2BaDecisionTreeClassifiergydF4y2Ba,gydF4y2BaDecisionTreeClassificationModelgydF4y2Ba}gydF4y2Ba進口gydF4y2BaorggydF4y2Ba。gydF4y2BaapachegydF4y2Ba。gydF4y2Ba火花gydF4y2Ba。gydF4y2Ba毫升gydF4y2Ba。gydF4y2Ba功能gydF4y2Ba。gydF4y2BaStringIndexergydF4y2Ba進口gydF4y2BaorggydF4y2Ba。gydF4y2BaapachegydF4y2Ba。gydF4y2Ba火花gydF4y2Ba。gydF4y2Ba毫升gydF4y2Ba。gydF4y2Ba管道gydF4y2Ba瓦爾gydF4y2Ba索引器gydF4y2Ba=gydF4y2Ba新gydF4y2BaStringIndexergydF4y2Ba().gydF4y2BasetInputColgydF4y2Ba(gydF4y2Ba“標簽”gydF4y2Ba).gydF4y2BasetOutputColgydF4y2Ba(gydF4y2Ba“indexedLabel”gydF4y2Ba)gydF4y2Ba瓦爾gydF4y2Ba直接轉矩gydF4y2Ba=gydF4y2Ba新gydF4y2BaDecisionTreeClassifiergydF4y2Ba().gydF4y2BasetLabelColgydF4y2Ba(gydF4y2Ba“indexedLabel”gydF4y2Ba)gydF4y2Ba瓦爾gydF4y2Ba管道gydF4y2Ba=gydF4y2Ba新gydF4y2Ba管道gydF4y2Ba().gydF4y2BasetStagesgydF4y2Ba(gydF4y2Ba數組gydF4y2Ba(gydF4y2Ba索引器gydF4y2Ba,gydF4y2Ba直接轉矩gydF4y2Ba))gydF4y2Ba瓦爾gydF4y2Ba模型gydF4y2Ba=gydF4y2Ba管道gydF4y2Ba。gydF4y2Ba適合gydF4y2Ba(gydF4y2BatrainingDFgydF4y2Ba)gydF4y2Ba瓦爾gydF4y2Ba樹gydF4y2Ba=gydF4y2Ba模型gydF4y2Ba。gydF4y2Ba階段gydF4y2Ba。gydF4y2Ba最後的gydF4y2Ba。gydF4y2BaasInstanceOfgydF4y2Ba[gydF4y2BaDecisionTreeClassificationModelgydF4y2Ba]gydF4y2Ba顯示gydF4y2Ba(gydF4y2Ba樹gydF4y2Ba)gydF4y2Ba
顯示決策樹gydF4y2Ba

結構化流數據框架gydF4y2Ba

要實時可視化流查詢的結果,您可以gydF4y2Ba顯示gydF4y2BaScala和Python中的結構化流數據幀。gydF4y2Ba

streaming_dfgydF4y2Ba=gydF4y2Ba火花gydF4y2Ba。gydF4y2BareadStreamgydF4y2Ba。gydF4y2Ba格式gydF4y2Ba(gydF4y2Ba“速度”gydF4y2Ba)gydF4y2Ba。gydF4y2Ba負載gydF4y2Ba()gydF4y2Ba顯示gydF4y2Ba(gydF4y2Bastreaming_dfgydF4y2Ba。gydF4y2BagroupBygydF4y2Ba()gydF4y2Ba。gydF4y2Ba數gydF4y2Ba())gydF4y2Ba
瓦爾gydF4y2Bastreaming_dfgydF4y2Ba=gydF4y2Ba火花gydF4y2Ba。gydF4y2BareadStreamgydF4y2Ba。gydF4y2Ba格式gydF4y2Ba(gydF4y2Ba“速度”gydF4y2Ba).gydF4y2Ba負載gydF4y2Ba()gydF4y2Ba顯示gydF4y2Ba(gydF4y2Bastreaming_dfgydF4y2Ba。gydF4y2BagroupBygydF4y2Ba().gydF4y2Ba數gydF4y2Ba())gydF4y2Ba

顯示gydF4y2Ba支持以下可選參數:gydF4y2Ba

  • streamNamegydF4y2Ba:流查詢名稱。gydF4y2Ba

  • 觸發gydF4y2Ba(Scala)和gydF4y2BaprocessingTimegydF4y2Ba(Python):定義流查詢運行的頻率。如果沒有指定,係統將在前一個處理完成後立即檢查新數據的可用性。為了降低生產成本,Databricks建議您gydF4y2Ba總是gydF4y2Ba設置觸發間隔。在Databricks Runtime 8.0及以上版本中,默認觸發間隔是500毫秒。gydF4y2Ba

  • checkpointLocationgydF4y2Ba:係統寫入所有檢查點信息的位置。如果不指定,係統將自動在DBFS上生成臨時檢查點位置。為了讓您的流從它停止的地方繼續處理數據,您必須提供一個檢查點位置。Databricks建議在生產環境中gydF4y2Ba總是gydF4y2Ba指定gydF4y2BacheckpointLocationgydF4y2Ba選擇。gydF4y2Ba

streaming_dfgydF4y2Ba=gydF4y2Ba火花gydF4y2Ba。gydF4y2BareadStreamgydF4y2Ba。gydF4y2Ba格式gydF4y2Ba(gydF4y2Ba“速度”gydF4y2Ba)gydF4y2Ba。gydF4y2Ba負載gydF4y2Ba()gydF4y2Ba顯示gydF4y2Ba(gydF4y2Bastreaming_dfgydF4y2Ba。gydF4y2BagroupBygydF4y2Ba()gydF4y2Ba。gydF4y2Ba數gydF4y2Ba(),gydF4y2BaprocessingTimegydF4y2Ba=gydF4y2Ba“5秒”gydF4y2Ba,gydF4y2BacheckpointLocationgydF4y2Ba=gydF4y2Ba“dbfs: / < checkpoint-path >”gydF4y2Ba)gydF4y2Ba
進口gydF4y2BaorggydF4y2Ba。gydF4y2BaapachegydF4y2Ba。gydF4y2Ba火花gydF4y2Ba。gydF4y2BasqlgydF4y2Ba。gydF4y2Ba流媒體gydF4y2Ba。gydF4y2Ba觸發gydF4y2Ba瓦爾gydF4y2Bastreaming_dfgydF4y2Ba=gydF4y2Ba火花gydF4y2Ba。gydF4y2BareadStreamgydF4y2Ba。gydF4y2Ba格式gydF4y2Ba(gydF4y2Ba“速度”gydF4y2Ba).gydF4y2Ba負載gydF4y2Ba()gydF4y2Ba顯示gydF4y2Ba(gydF4y2Bastreaming_dfgydF4y2Ba。gydF4y2BagroupBygydF4y2Ba().gydF4y2Ba數gydF4y2Ba(),gydF4y2Ba觸發gydF4y2Ba=gydF4y2Ba觸發gydF4y2Ba。gydF4y2BaProcessingTimegydF4y2Ba(gydF4y2Ba“5秒”gydF4y2Ba),gydF4y2BacheckpointLocationgydF4y2Ba=gydF4y2Ba“dbfs: / < checkpoint-path >”gydF4y2Ba)gydF4y2Ba

有關這些參數的詳細信息,請參見gydF4y2Ba開始流式查詢gydF4y2Ba。gydF4y2Ba

displayHTMLgydF4y2Ba函數gydF4y2Ba

Databricks編程語言筆記本(Python、R和Scala)支持HTML圖形gydF4y2BadisplayHTMLgydF4y2Ba函數;你可以向函數傳遞任何HTML、CSS或JavaScript代碼。這個函數支持使用JavaScript庫(如D3)的交互式圖形。gydF4y2Ba

關於使用的例子gydF4y2BadisplayHTMLgydF4y2Ba,請參閱:gydF4y2Ba

請注意gydF4y2Ba

的gydF4y2BadisplayHTMLgydF4y2BaIframe是從域提供服務的gydF4y2Badatabricksusercontent.comgydF4y2Ba, iframe沙箱包含gydF4y2Baallow-same-origingydF4y2Ba屬性。gydF4y2Badatabricksusercontent.comgydF4y2Ba必須可以從瀏覽器訪問。如果當前被公司網絡阻止,則必須將其添加到允許列表中。gydF4y2Ba

圖片gydF4y2Ba

包含圖像數據類型的列呈現為富HTML。Databricks試圖渲染圖像縮略圖gydF4y2BaDataFramegydF4y2Ba與Spark匹配的列gydF4y2BaImageSchemagydF4y2Ba。縮略圖渲染工作的任何圖像成功讀入通過gydF4y2Baspark.read.format('圖像')gydF4y2Ba函數。對於通過其他方式生成的圖像值,Databricks支持1、3或4通道圖像的呈現(其中每個通道由一個字節組成),具有以下約束:gydF4y2Ba

  • 一個通道的圖像gydF4y2Ba:gydF4y2Ba模式gydF4y2BaField必須等於0。gydF4y2Ba高度gydF4y2Ba,gydF4y2Ba寬度gydF4y2Ba,gydF4y2BanChannelsgydF4y2Ba字段必須準確描述二值圖像數據中的gydF4y2Ba數據gydF4y2Ba字段。gydF4y2Ba

  • 三通道的圖片gydF4y2Ba:gydF4y2Ba模式gydF4y2BaField必須等於16。gydF4y2Ba高度gydF4y2Ba,gydF4y2Ba寬度gydF4y2Ba,gydF4y2BanChannelsgydF4y2Ba字段必須準確描述二值圖像數據中的gydF4y2Ba數據gydF4y2Ba字段。的gydF4y2Ba數據gydF4y2Ba字段必須包含像素數據在三個字節塊,與通道排序gydF4y2Ba(藍色、gydF4y2Ba綠色,gydF4y2Ba紅色)gydF4y2Ba對於每個像素。gydF4y2Ba

  • 四通道圖像gydF4y2Ba:gydF4y2Ba模式gydF4y2BaField必須等於24。gydF4y2Ba高度gydF4y2Ba,gydF4y2Ba寬度gydF4y2Ba,gydF4y2BanChannelsgydF4y2Ba字段必須準確描述二值圖像數據中的gydF4y2Ba數據gydF4y2Ba字段。的gydF4y2Ba數據gydF4y2Ba字段必須包含像素數據在四字節塊,與通道排序gydF4y2Ba(藍色、gydF4y2Ba綠色,gydF4y2Ba紅色,gydF4y2Baα)gydF4y2Ba對於每個像素。gydF4y2Ba

例子gydF4y2Ba

假設你有一個包含一些圖片的文件夾:gydF4y2Ba

圖像數據文件夾gydF4y2Ba

如果你把圖像讀入數據幀gydF4y2BaImageSchema.readImagesgydF4y2Ba然後顯示DataFrame, Databricks渲染圖像的縮略圖:gydF4y2Ba

從gydF4y2Bapyspark.ml.imagegydF4y2Ba進口gydF4y2BaImageSchemagydF4y2Baimage_dfgydF4y2Ba=gydF4y2BaImageSchemagydF4y2Ba。gydF4y2BareadImagesgydF4y2Ba(gydF4y2Basample_img_dirgydF4y2Ba)gydF4y2Ba顯示gydF4y2Ba(gydF4y2Baimage_dfgydF4y2Ba)gydF4y2Ba
顯示圖像數據幀gydF4y2Ba

Python中的可視化gydF4y2Ba

SeaborngydF4y2Ba

您還可以使用其他Python庫來生成圖。Databricks運行時包括gydF4y2BaseaborngydF4y2Ba可視化的圖書館。若要創建海上繪圖,請導入庫,創建繪圖,並將繪圖傳遞給gydF4y2Ba顯示gydF4y2Ba函數。gydF4y2Ba

進口gydF4y2BaseaborngydF4y2Ba作為gydF4y2BasnsgydF4y2BasnsgydF4y2Ba。gydF4y2Ba集gydF4y2Ba(gydF4y2Ba風格gydF4y2Ba=gydF4y2Ba“白色”gydF4y2Ba)gydF4y2BadfgydF4y2Ba=gydF4y2BasnsgydF4y2Ba。gydF4y2Baload_datasetgydF4y2Ba(gydF4y2Ba“愛麗絲”gydF4y2Ba)gydF4y2BaggydF4y2Ba=gydF4y2BasnsgydF4y2Ba。gydF4y2BaPairGridgydF4y2Ba(gydF4y2BadfgydF4y2Ba,gydF4y2Badiag_shareygydF4y2Ba=gydF4y2Ba假gydF4y2Ba)gydF4y2BaggydF4y2Ba。gydF4y2Bamap_lowergydF4y2Ba(gydF4y2BasnsgydF4y2Ba。gydF4y2BakdeplotgydF4y2Ba)gydF4y2BaggydF4y2Ba。gydF4y2Bamap_diaggydF4y2Ba(gydF4y2BasnsgydF4y2Ba。gydF4y2BakdeplotgydF4y2Ba,gydF4y2BalwgydF4y2Ba=gydF4y2Ba3.gydF4y2Ba)gydF4y2BaggydF4y2Ba。gydF4y2Bamap_uppergydF4y2Ba(gydF4y2BasnsgydF4y2Ba。gydF4y2BaregplotgydF4y2Ba)gydF4y2Ba顯示gydF4y2Ba(gydF4y2BaggydF4y2Ba。gydF4y2Ba無花果gydF4y2Ba)gydF4y2Ba
Seaborn情節gydF4y2Ba

R中的可視化gydF4y2Ba

要在R中繪製數據,請使用gydF4y2Ba顯示gydF4y2Ba功能如下:gydF4y2Ba

圖書館gydF4y2Ba(gydF4y2BaSparkRgydF4y2Ba)gydF4y2Badiamonds_dfgydF4y2Ba<-gydF4y2Baread.dfgydF4y2Ba(gydF4y2Ba“/ databricks-datasets / Rdatasets /數據- 001 / csv / ggplot2 / diamonds.csv”gydF4y2Ba,gydF4y2Ba源gydF4y2Ba=gydF4y2Ba“csv”gydF4y2Ba,gydF4y2Ba頭gydF4y2Ba=gydF4y2Ba“真正的”gydF4y2Ba,gydF4y2BainferSchemagydF4y2Ba=gydF4y2Ba“真正的”gydF4y2Ba)gydF4y2Ba顯示gydF4y2Ba(gydF4y2Ba安排gydF4y2Ba(gydF4y2BagggydF4y2Ba(gydF4y2BagroupBygydF4y2Ba(gydF4y2Badiamonds_dfgydF4y2Ba,gydF4y2Ba“顏色”gydF4y2Ba),gydF4y2Ba“價格”gydF4y2Ba=gydF4y2Ba“平均”gydF4y2Ba),gydF4y2Ba“顏色”gydF4y2Ba))gydF4y2Ba

您可以使用默認RgydF4y2Ba情節gydF4y2Ba函數。gydF4y2Ba

適合gydF4y2Ba<-gydF4y2BalmgydF4y2Ba(gydF4y2Ba花瓣。長度gydF4y2Ba~gydF4y2Ba。gydF4y2Ba,gydF4y2Ba數據gydF4y2Ba=gydF4y2Ba虹膜gydF4y2Ba)gydF4y2Ba布局gydF4y2Ba(gydF4y2Ba矩陣gydF4y2Ba(gydF4y2BacgydF4y2Ba(gydF4y2Ba1gydF4y2Ba,gydF4y2Ba2gydF4y2Ba,gydF4y2Ba3.gydF4y2Ba,gydF4y2Ba4gydF4y2Ba),gydF4y2Ba2gydF4y2Ba,gydF4y2Ba2gydF4y2Ba))gydF4y2Ba#可選4張圖/頁gydF4y2Ba情節gydF4y2Ba(gydF4y2Ba適合gydF4y2Ba)gydF4y2Ba
R默認圖gydF4y2Ba

您還可以使用任何R可視化包。R筆記本將生成的圖形捕獲為gydF4y2Ba. pnggydF4y2Ba並內聯顯示它。gydF4y2Ba

晶格gydF4y2Ba

的gydF4y2Ba晶格gydF4y2Ba包支持網格圖—顯示變量或變量之間關係的圖,以一個或多個其他變量為條件。gydF4y2Ba

圖書館gydF4y2Ba(gydF4y2Ba晶格gydF4y2Ba)gydF4y2BaxyplotgydF4y2Ba(gydF4y2Ba價格gydF4y2Ba~gydF4y2Ba克拉gydF4y2Ba|gydF4y2Ba減少gydF4y2Ba,gydF4y2Ba鑽石gydF4y2Ba,gydF4y2Ba尺度gydF4y2Ba=gydF4y2Ba列表gydF4y2Ba(gydF4y2Ba日誌gydF4y2Ba=gydF4y2Ba真正的gydF4y2Ba),gydF4y2Ba類型gydF4y2Ba=gydF4y2BacgydF4y2Ba(gydF4y2Ba“p”gydF4y2Ba,gydF4y2Ba“g”gydF4y2Ba,gydF4y2Ba“順利”gydF4y2Ba),gydF4y2BaylabgydF4y2Ba=gydF4y2Ba“日誌價格”gydF4y2Ba)gydF4y2Ba
R格圖gydF4y2Ba

DandEFAgydF4y2Ba

的gydF4y2BaDandEFAgydF4y2Ba軟件包支持蒲公英地塊。gydF4y2Ba

install.packagesgydF4y2Ba(gydF4y2Ba“DandEFA”gydF4y2Ba,gydF4y2Ba回購gydF4y2Ba=gydF4y2Ba“https://cran.us.r-project.org”gydF4y2Ba)gydF4y2Ba圖書館gydF4y2Ba(gydF4y2BaDandEFAgydF4y2Ba)gydF4y2Ba數據gydF4y2Ba(gydF4y2Batimss2011gydF4y2Ba)gydF4y2Batimss2011gydF4y2Ba<-gydF4y2Bana.omitgydF4y2Ba(gydF4y2Batimss2011gydF4y2Ba)gydF4y2BadandpalgydF4y2Ba<-gydF4y2Ba牧師gydF4y2Ba(gydF4y2Ba彩虹gydF4y2Ba(gydF4y2BaOne hundred.gydF4y2Ba,gydF4y2Ba開始gydF4y2Ba=gydF4y2Ba0gydF4y2Ba,gydF4y2Ba結束gydF4y2Ba=gydF4y2Ba0.2gydF4y2Ba))gydF4y2BafaclgydF4y2Ba<-gydF4y2BafactloadgydF4y2Ba(gydF4y2Batimss2011gydF4y2Ba,gydF4y2BanfacgydF4y2Ba=gydF4y2Ba5gydF4y2Ba,gydF4y2Ba方法gydF4y2Ba=gydF4y2Ba“普凱投資”gydF4y2Ba,gydF4y2BacormethgydF4y2Ba=gydF4y2Ba“槍兵”gydF4y2Ba)gydF4y2Ba蒲公英gydF4y2Ba(gydF4y2BafaclgydF4y2Ba,gydF4y2Ba綁定gydF4y2Ba=gydF4y2Ba0gydF4y2Ba,gydF4y2BamcexgydF4y2Ba=gydF4y2BacgydF4y2Ba(gydF4y2Ba1gydF4y2Ba,gydF4y2Ba1.2gydF4y2Ba),gydF4y2Ba一直gydF4y2Ba=gydF4y2BadandpalgydF4y2Ba)gydF4y2BafaclgydF4y2Ba<-gydF4y2BafactloadgydF4y2Ba(gydF4y2Batimss2011gydF4y2Ba,gydF4y2BanfacgydF4y2Ba=gydF4y2Ba8gydF4y2Ba,gydF4y2Ba方法gydF4y2Ba=gydF4y2Ba“初速”gydF4y2Ba,gydF4y2BacormethgydF4y2Ba=gydF4y2Ba“皮爾森”gydF4y2Ba)gydF4y2Ba蒲公英gydF4y2Ba(gydF4y2BafaclgydF4y2Ba,gydF4y2Ba綁定gydF4y2Ba=gydF4y2Ba0gydF4y2Ba,gydF4y2BamcexgydF4y2Ba=gydF4y2BacgydF4y2Ba(gydF4y2Ba1gydF4y2Ba,gydF4y2Ba1.2gydF4y2Ba),gydF4y2Ba一直gydF4y2Ba=gydF4y2BadandpalgydF4y2Ba)gydF4y2Ba
R DandEFA圖gydF4y2Ba

情節gydF4y2Ba

的gydF4y2Ba情節gydF4y2BaR包依賴於gydF4y2Bahtmlwidgets for RgydF4y2Ba。有關安裝說明和筆記本,請參見gydF4y2BahtmlwidgetsgydF4y2Ba。gydF4y2Ba

Scala中的可視化gydF4y2Ba

要在Scala中繪製數據,可以使用gydF4y2Ba顯示gydF4y2Ba功能如下:gydF4y2Ba

瓦爾gydF4y2Badiamonds_dfgydF4y2Ba=gydF4y2Ba火花gydF4y2Ba。gydF4y2Ba讀gydF4y2Ba。gydF4y2Ba格式gydF4y2Ba(gydF4y2Ba“csv”gydF4y2Ba).gydF4y2Ba選項gydF4y2Ba(gydF4y2Ba“頭”gydF4y2Ba,gydF4y2Ba“真正的”gydF4y2Ba).gydF4y2Ba選項gydF4y2Ba(gydF4y2Ba“inferSchema”gydF4y2Ba,gydF4y2Ba“真正的”gydF4y2Ba).gydF4y2Ba負載gydF4y2Ba(gydF4y2Ba“/ databricks-datasets / Rdatasets /數據- 001 / csv / ggplot2 / diamonds.csv”gydF4y2Ba)gydF4y2Ba顯示gydF4y2Ba(gydF4y2Badiamonds_dfgydF4y2Ba。gydF4y2BagroupBygydF4y2Ba(gydF4y2Ba“顏色”gydF4y2Ba).gydF4y2BaavggydF4y2Ba(gydF4y2Ba“價格”gydF4y2Ba).gydF4y2BaorderBygydF4y2Ba(gydF4y2Ba“顏色”gydF4y2Ba))gydF4y2Ba

深入研究Python和Scala的筆記本gydF4y2Ba

要深入了解Python可視化,請參閱筆記本:gydF4y2Ba

要深入了解Scala可視化,請參閱筆記本:gydF4y2Ba