⑴ 關於SQLserver 存儲過程 如何切割一個字元串 轉化為數組
Create Function [dbo].[Split](@Sql varchar(8000),@Splits varchar(10))
returns @temp Table (a varchar(100))
As
Begin
Declare @i Int
Set @Sql = RTrim(LTrim(@Sql))
Set @i = CharIndex(@Splits,@Sql)
While @i >= 1
Begin
Insert @temp Values(Left(@Sql,@i-1))
Set @Sql = SubString(@Sql,@i+1,Len(@Sql)-@i)
Set @i = CharIndex(@Splits,@Sql)
End
If @Sql <> ''
Insert @temp Values (@Sql)
Return
End
利用軟體:「SQLDumpSplitter.exe」
將導出的數據備份文件切割,可以自定義每個文件的大小,這個軟體有一個好處是不會把每條記錄分開,保證了每條記錄的完整性,但是如果一個表中插入的數據較多,那麼會把插入操作分成好幾個,放在不同的小文件當中。
所以如果導入過程當中遇到 data node 參數需要改動的問題時,首先得刪除表記錄,再重新導,不免會出現重復記錄的情況。
SQLDumpSplitter在切割數據文件的同時會把資料庫表結構也獨立保存起來,方便進行資料庫初始化操作。
⑶ Hive sql - 切割函數 split() 與空格字元串函數 space()
歡迎來到我的文章,我將為你解析Hive SQL中的兩個重要字元串處理工具:split()函數和space()函數。
首先,split()函數就像一個切割大師,它能依據指定的分隔符將字元串分解成一個數組,讓你輕松處理其中的各個部分。
其次,space()函數則負責生成空格,它接受一個數值參數,生成相應長度的空格字元串,這對於構建格式化的輸出或填充數據很有用。
在實際應用中,我們經常將split()和space()結合起來,比如創建一個固定長度的數組,每個元素由指定數量的空格隔開。
雖然文章已接近尾聲,但你的支持是我創作的動力。如果你對本文有任何疑問或希望了解更多關於Hive SQL的函數,歡迎在評論區留言,我將不斷分享相關知識。
任何反饋我都將認真對待,期待你的參與,讓我們共同學習和進步。
⑷ linux和k8s和資料庫筆記
有關linux:
1、卸載某一個特定的掛在點。
umount /dev/datavg01 /data01
2、移掉lvm。
vgremove /dev/datavg01
3、拷貝數據。
scp -r /home/gaoge.txt [email protected]:/opt 或rsync -av /root/rpmpkgs /tmp/backups/
4、顯示系統盤符並以樹狀格式展開。
lsblk。
5、掃描新增設備。
echo "---" >/sys/class/scsi-host/hosto/scan
6、強行殺死mysql
kill -9 $(ps -ef | grep mysql)
7、將文件內容以每一行5個的形式展示出來。
cat test2.txt | xargs -n 5
8、用cut去實現awk切割列的效果
cat/etc/passwd | cut -d : -f 2
9、sed、grsp、awk。之前已經說過了、具體看 從linux三劍客說起 這篇。
10、增加一個oracle用戶讓其屬於oinstall組同時也隸屬於dba組。useradd oracle -g oinstall -G dba
11、新建立一個組groupnew並將組id修改為255。
groupadd -g 255 groupnew
12、將本地/dev/hdb整盤中的數據備份到/dev/hdd上。
dd if=/dev/hdb of=/dev/hdd
13、查看伺服器cpu個數。
cat /proc/cpuinfo | grep "physical id" | wc -l
14、查看伺服器io狀況並以每間隔1秒的速度輸出5次。
iostat 1 5
15、查看伺服器內存使用情況並以每間隔2秒的速度輸出10次。
vmstat 2 10
16、將gaoge.txt中的第一列db2找到並將db兩個字元用ab替換。
cat gaoge.txt |grep db2 | awk -F 2 '{print $1}' | tr db ab
17、將包名解壓到指定目錄。
tar -cxvf 包名 -C 指定的目錄
18、linux中前後台任務切換。
ctrl+z 切換到後台、jobs顯示id、fg + id 切換至前台。
19、殺掉top下stopped的進程。
ps -A -ostat,ppid,pid,cmd |grep -e '^[T]'
然後在進行kill
20、監控cpu狀態。
mpstat
21、查看虛擬內存使用了多少。
swapon
22、每月1到10號4:45重啟nginx。
crontab -u root -l 顯示root當前的計劃任務。
crontab -u root -e 後輸入以下內容並保存退出。
45 4 1,10 ** systemctl start nginx
23、awk列印df -h 的第一列、第三列、最後一列。
df -h | awk '{print $1 " " $3 " " $NF}'
24、批量拉、打標簽、推docker鏡像的shell腳本。
#!/bin/bash
for image in 'docker images | grep 10.171.10.1:10000 | awk ' { print $1 ":" $2 }
do
version = 'echo $image | awk -F / ' { print $2 } '
docker tag $image 192.168.10.1/$version
docker push 192.168.10.1/$version
done
25、正則表達式匹配電話號碼。
(?0d{2}[) -]?d{8}
26、編譯安裝三步驟。
./configure --prefix=安裝目錄
make
make install
有關kubernetes:
將kubernetes中pod的數據拷貝到物理宿主機上。
kubectl cp gyl-run/gyl-mysql-01020304: /opt/docker.sh /opt
將kubernetes中物理宿主機上的數據拷貝到pod中。
kubectl cp /opt/docker.sh gyl-run/gyl-mysql-01020304: /opt
檢查當前用戶有沒有許可權在k8s中創建資源許可權。
kubectl auth can-i '*' '*'
檢查當前用戶有沒有許可權在k8s集群中創建namespace許可權。
kubectl auth can-i create pods --all-namespaces
查看集群是否 健康 。
kubectl get cs
有關資料庫:
查看 mysql 二進制日誌格式。
show variables like 『%binlog_format%』
查看所有二進制日誌文件
show master logs
查看正在寫入的二進制日誌
show master status
格式化二進制顯示為sql格式
mysqlbinlog --base64 --output=decode-rows -v --start-date="2019-01-25 00:00:00" --stop-date=「2019-01-26 17:30」 master-bin.000006
利用bin-log去還原數據
/usr/bin/mysqlbinlog --no-default /var/lib/mysql/mysql-bin.00001 | usr/bin/mysql -u root -p pwd test
連接 postgresql
psql -U 用戶名 -d 數據
資料庫名 -h 主機地址 -p埠(默認埠為5432)
l 顯示資料庫列表
d 顯示所有表
d 表名稱 顯示表結構
顯示所有資料庫用戶
c 資料庫名 連接資料庫
q 退出pg窗口
pg備份:
pg_mp -U kong -d kong -f /opt/2019-01-26-pg.sql
pg還原:
psql -d kong -U kong -f /opt/2019-01-26-pg.sql
mongo 批量更新數據:把age大於20的class name修改為,設置multi為true