原创 [轉]maven改用國內源

~/.m2/settingx.xml <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSch

原创 git-lfs

git clone的倉庫有大文件時,可能出現git-lfs,大文件可能出現如下內容: ➜ data git:(master) cat big_file.csv version https://git-lfs.github.c

原创 [Scala]apply方法測試

scala中的apply方法,類似c++中對operator()的重載,可以使得Object和Class像函數方法一樣調用 object ObjFoo { val base: Int = 5 def apply(a: I

原创 [scala]scala調用方法時可以省略點和圓括號

scala調用類方法時可以省略點和圓括號測試代碼如下 object classTest1 { class A(a: Int) { var a_ = a; def print() = { prin

原创 http代理解決github龜速的問題

設置github的http代理 git config --global https.proxy https://127.0.0.1:8123 git config --global http.proxy https://127.0

原创 [spark]使用injectOptimizerRule改寫Plan

自定義UDF函數如下 spark.udf.register("inc", (x: Long) => x + 1) 測試語句如下 val df = spark.sql("select sum(inc(vals)) from dat

原创 [Scala]對特定對象實例的方法重寫

scala支持在對象實例化後對對象內的特定方法重寫,重寫只會影響當前實例,對其它實例沒有影響,測試代碼如下 object OverrideTest { class A(a: Int) { println(s"A co

原创 [Spark]調用RDD[InternalRow]的filter方法過濾csv文件

import org.apache.spark.sql.SparkSession object SqlExample { def main(args: Array[String]): Unit = { val sp

原创 ssh 跳轉進入局域網內部電腦

假設局域網內部有兩臺機器,A和B,其中機器A具有公網ip,機器B只有內網ip,網絡信息如下。 機器A 公網IP: 10.23.45.67 公網SSH端口: 17890 內網IP: 192.168.1.30 SSH 用戶名: mma

原创 [spark]單機下的集羣模式運行

現有一臺服務器,配置信息如下: cpu lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order:

原创 [spark]RewriteDistinctAggregates

如果Aggregate操作中同時包含Distinct與非Distinct操作,優化器可以將該操作改寫成兩個不包含Distinct的Aggregate 假設schema如下 create table animal(gkey varc

原创 [conda]clone environment

conda基於當前環境複製出一個新的環境基於base_env創造出新的new_new conda create --name new_env --clone base_env 參考資料: clone env 點贊

原创 [LLVM]在彙編語言上插入指令

問題:LLVM如何實現在彙編語言的.s 文件中所有call指令前後添加2行固定指令? 答:LLVM中function相關的pass用於修改ir,而machine function相關的pas用於修改mir,也就相當於修改生成的彙編

原创 [spark]Rewrite SparkSQL Plan

OptPlanTest.scala import org.apache.spark.sql.SparkSession import org.apache.log4j.Logger import org.apache.log4j.L

原创 [cuda]scala調用cuda程序

新建scala工程,選擇sbt 添加jcuda的引用,build.sbt設置如下: name := "JCudaExample" version := "0.1" scalaVersion := "2.13.1" lib