原创 Sqoop命令
1、Sqoop Import (進入官網)
原创 spark-sql性能優化之——動態實現多個列應用同一個函數
在對一個dataframe的多個列實現應用同一個函數時,是否能動態的指定? 例如: 對A,B,C三列實現分組統計 1.初始化spark,構建DF val spark = SparkSession.builder() .a
原创 Spark實現行列轉換pivot和unpivot
背景 做過數據清洗ETL工作的都知道,行列轉換是一個常見的數據整理需求。在不同的編程語言中有不同的實現方法,比如SQL中使用case+group,或者Power BI的M語言中用拖放組件實現。今天正好需要在pyspark中處理一個數據行列
原创 Spark中廣播變量詳解以及如何動態更新廣播變量
【前言:Spark目前提供了兩種有限定類型的共享變量:廣播變量和累加器,今天主要介紹一下基於Spark2.4版本的廣播變量。先前的版本比如Spark2.1之前的廣播變量有兩種實現:HttpBroadcast和TorrentBroadcas
原创 Spark Yarn 調度器Scheduler詳解
一、調度器的選擇 在Yarn中有三種調度器可以選擇:FIFO Scheduler,Capacity Scheduler,FairS cheduler。 FIFO Scheduler把應用按提交的順序排成一個隊列,這是一個先進先出隊列,在進
原创 Address already in use: Service 'SparkUI' failed after 16 retries (starting from 4040)!
Address already in use: Service 'SparkUI' failed after 16 retries (starting from 4040)! Consi der explicitly setting th
原创 Spark任務傾斜解決方案
任務傾斜 一、Spark推測執行spark.speculation(謹慎使用) task傾斜原因比較多,網絡io,cpu,mem都有可能造成這個節點上的任務執行緩慢,可以去看該節點的性能監控來分析原因。以前遇到過同事在spark的一臺wo
原创 spark sql insert 報錯 Container killed on request. Exit code is 143
Caused by: org.apache.spark.SparkException: Job aborted due to stage failure: Task 198 in stage 4.0 failed 4 times, mo
原创 Spark Mllib中LinearRegression參數含義
1.相關參數設置: <1> setMaxIter():設置最大迭代次數 <2> setRegParam(): 設置正則項的參數,控制損失函數與懲罰項的比例,防止整個訓練過程過擬合 <3> setElasticNetParam():使用L1
原创 sqoop hcatalog數據導出
將分區表中的數據導入mysql 創建mysql表 create table if not exists test.test_product_id ( product_id bigint(11) comment "商品ID",
原创 sqoop導出的數據到sqlserver數據精度確實問題解決方案
業務場景: 1.使用spark建立數據pipeline,保存數據有float,業務需要4爲小數,類型爲float 問題描述: hive表中數據類型爲float 1.hive表中float類型數據在spark中計算中精度缺失; 2.通過sq
原创 spark導數據到sqlserver
spark數據處理完後,如果結果需要輸出到sql database,可以使用spark sql dataframe並引入微軟的數據庫jdbc驅動輸出數據,具體步驟如下: 1:引入微軟的jdbc jar包 在項目的pom文件加入下面的依
原创 callUDF使用
callUDF用與將sql註冊的UDF轉爲外部DataFrame可見 import org.apache.spark.sql.SparkSession import org.apache.spark.sql.functions._
原创 Hive常用修改命令
Alter Table 語句 Hive修改表名,列名,列註釋,表註釋,增加列,調整列順序,屬性名等操作 它是在Hive中用來修改的表。語法 聲明接受任意屬性,我們希望在一個表中修改以下語法。 ALTER TABLE name R
原创 Hive之行轉列-合併多列-列轉行
行轉列:collect_list(不去重) collect_set(去重) 它們都是將分組中的某列轉爲一個數組返回,不同的是collect_list不去重而collect_set去重 concat_ws(',',collect_se