openEuler-22.03-LTS-SP3 編譯安裝 Greenplum-db 6.20.0

openEuler-22.03-LTS-SP3 編譯安裝 Greenplum-db 6.20.0

  • 1、配置 yum 華為源
  • 2、安裝依賴
  • 3、源碼安裝 openssl 1.0.1u
    • 3.1、openssl 1.1.1 降級到 openssl 1.0.1
  • 4、源碼安裝 python 2.7
  • 5、使用 pip3 安裝 Python 相關依賴
  • 6、編譯安裝 Greenplum-db 6.20.0
    • 6.1、修改配置
    • 6.2、基于 GPORCA 構建
    • 6.3、不基于 GPORCA 構建
  • 7、Greenplum-db 6.20.0 使用
    • 7.1、安裝 greenplum 單機版(1 master,2 segment)
      • 7.1.1、關閉 SELINUX
      • 7.1.2、關閉防火墻
      • 7.1.3、安裝單機版GP
        • 7.1.3.1、改機器名
        • 7.1.3.2、創建 gpaadmin 用戶和用戶組
        • 7.1.3.3、配置內核參數
        • 7.1.3.4、修改 limits
      • 7.1.4、gp 安裝
        • 7.1.4.1、設置 host
        • 7.1.4.2、設置 gp6 環境變量
        • 7.1.4.3、創建 instance 需要的目錄
        • 7.1.4.4、切換用戶 gpadmin
        • 7.1.4.5、權限互通
        • 7.1.4.6、初始化 GP
      • 7.1.5、連接GP
    • 7.2、安裝 greenplum 單機集群(1 master,2 slave,2 mirror)
      • 7.2.1、創建用戶組
      • 7.2.2、設置 host
      • 7.2.3、創建 instance 需要的目錄
      • 7.2.4、初始化 GP

1、配置 yum 華為源

cd /etc/yum.repos.d/
mkdir -p repobak
mv -f *.repo repobak
vi /etc/yum.repos.d/openEuler.repo

openEuler.repo

#generic-repos is licensed under the Mulan PSL v2.
#You can use this software according to the terms and conditions of the Mulan PSL v2.
#You may obtain a copy of Mulan PSL v2 at:
#    http://license.coscl.org.cn/MulanPSL2
#THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
#IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
#PURPOSE.
#See the Mulan PSL v2 for more details.[OS]
name=OS
baseurl=https://repo.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP3/OS/$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP3/OS/$basearch/RPM-GPG-KEY-openEuler[everything]
name=everything
baseurl=https://repo.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP3/everything/$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP3/everything/$basearch/RPM-GPG-KEY-openEuler[EPOL]
name=EPOL
baseurl=https://repo.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP3/EPOL/main/$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP3/OS/$basearch/RPM-GPG-KEY-openEuler[debuginfo]
name=debuginfo
baseurl=https://repo.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP3/debuginfo/$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP3/debuginfo/$basearch/RPM-GPG-KEY-openEuler[source]
name=source
baseurl=https://repo.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP3/source/
enabled=1
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP3/source/RPM-GPG-KEY-openEuler[update]
name=update
baseurl=https://repo.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP3/update/$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP3/OS/$basearch/RPM-GPG-KEY-openEuler

2、安裝依賴

yum install -y apr-devel bison bzip2-devel cmake3 flex gcc gcc-c++ krb5-devel libcurl-devel libevent-devel libkadm5 libyaml-devel libxml2-devel libzstd-devel openssl-devel perl-ExtUtils-Embed readline-devel xerces-c-devel zlib-devel ncurses-devel sqlite-devel tk-devel gdbm-devel libpcap-devel xz-devel libffi-devel python-setuptools make git python3-devel python-pip tar pam pam-devel

cmake >= 3.1 !!!

3、源碼安裝 openssl 1.0.1u

3.1、openssl 1.1.1 降級到 openssl 1.0.1

在這里插入圖片描述

# 備份文件
mv /usr/bin/openssl /usr/bin/openssl.old
mv /etc/pki/ca-trust/extracted/openssl /etc/pki/ca-trust/extracted/openssl.old
# 下載源碼
cd /usr/local/
wget -O openssl-1.0.1u.tar.gz https://www.openssl.org/source/old/1.0.1/openssl-1.0.1u.tar.gz
tar -xzf openssl-1.0.1u.tar.gz
cd openssl-1.0.1u
mkdir -p /usr/local/openssl /usr/local/ssl# 編譯安裝 
CFLAGS="-fPIC" ./config shared zlib-dynamic --prefix=/usr/local/openssl --openssldir=/usr/local/ssl && make -j4 && make -j4 install# 注意,部分電腦會編譯生成 /usr/local/openssl/lib64,復制前看一下目錄名稱!ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl
cp -f /usr/local/openssl/lib/libssl.so.1.0.0 /usr/lib64/
cp -f /usr/local/openssl/lib/libcrypto.so.1.0.0 /usr/lib64/
# 生成軟鏈接
ln -s /usr/lib64/libssl.so.1.0.0 /usr/lib64/libssl.so.10
ln -s /usr/lib64/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.10
openssl versioncd /usr/local
rm -rf /usr/local/openssl-1.0.1u

在這里插入圖片描述

4、源碼安裝 python 2.7

# 下載python安裝包
cd /usr/local/
wget -O Python-2.7.18.tar.xz https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tar.xz
# 解壓安裝包
tar -xf Python-2.7.18.tar.xz
cd Python-2.7.18

優化編譯命令

# ./configure --enable-shared --prefix=/usr/local/python2
# --prefix=*** :指定了python的安裝目錄
# --enable-shared :配置構建選項的命令,構建過程中啟用共享庫支持(默認帶上,否則后續無法使用打包工具)
# --enable-optimizations:啟用優化,對Python進行一些優化以提高性能。
# 執行configure文件,指定安裝位置/usr/local/python2
# 注意,部分電腦會編譯生成 /usr/local/openssl/lib64,復制前看一下目錄名稱!
./configure --enable-shared --prefix=/usr/local/python2 --enable-optimizations LDFLAGS="-L/usr/local/openssl/lib" CPPFLAGS="-I/usr/local/openssl/include" PKG_CONFIG_PATH="/usr/local/openssl/lib/pkgconfig"

不進行優化編譯命令

#注意,部分電腦會編譯生成 /usr/local/openssl/lib64,復制前看一下目錄名稱!
./configure --enable-shared --prefix=/usr/local/python2 LDFLAGS="-L/usr/local/openssl/lib" CPPFLAGS="-I/usr/local/openssl/include" PKG_CONFIG_PATH="/usr/local/openssl/lib/pkgconfig"
# 編譯安裝
make -j4 && make -j4 install# 將默認/usr/local/lib/路徑添加到動態鏈接器的配置文件,并通過ldconfig更新緩存
# 路徑根據實際路徑替換,例如:/usr/local/python3/lib/
echo "/usr/local/python2/lib/" >> /etc/ld.so.conf
ldconfig# 刪除源代碼
cd /usr/local
rm -rf /usr/local/Python-2.7.18# 生成軟鏈接
ln -s /usr/local/python2/bin/python2.7 /usr/bin/python# 安裝pip
wget -O get_pip.py https://bootstrap.pypa.io/pip/2.7/get-pip.py --no-check-certificate
python get_pip.py -i https://pypi.tuna.tsinghua.edu.cn/simple/# 更新pip,可選
/usr/local/python2/bin/pip2.7 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ --upgrade pip# 安裝wheel
/usr/local/python2/bin/pip2.7 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ wheel

安裝 psutil

# 安裝psutil,必裝,不然數據庫會初始化失敗
/usr/local/python2/bin/pip2.7 install psutil  -i https://pypi.tuna.tsinghua.edu.cn/simple/

5、使用 pip3 安裝 Python 相關依賴

openEuler 22.03 自帶Python 3.9.9,使用自帶的pip安裝依賴

cd /usr/local
wget -O 6.20.0.tar.gz https://github.com/greenplum-db/gpdb/archive/refs/tags/6.20.0.tar.gz
tar -zxvf 6.20.0.tar.gz
cd gpdb-6.20.0
# 使用清華源安裝conan
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ conan

修改文件 python-dependencies.txt,調整依賴為以下版本

argparse==1.2.1
behave==1.2.6
epydoc==3.0.1
logilab-astng==0.24.3
logilab-common==1.9.7
MarkupSafe==2.0.1
mock==1.0.1
parse==1.8.2
psutil==4.0.0
setuptools==42.0.0
unittest2==1.1.0
pyyaml==6.0.1

安裝依賴

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ -r python-dependencies.txt

修改文件 python-developer-dependencies.txt,調整依賴為以下版本

enum34==1.1.6
Jinja2==3.0.3
parse-type==0.4.2
pexpect==4.4.0
PSI==0.3b2
PyYAML==6.0.1
ptyprocess==0.5.2
six==1.11.0

安裝依賴

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ -r python-developer-dependencies.txt

6、編譯安裝 Greenplum-db 6.20.0

6.1、修改配置

ln -sf /usr/bin/cmake3 /usr/local/bin/cmake
echo "/usr/local/lib" >> /etc/ld.so.conf
echo "/usr/local/lib64" >> /etc/ld.so.confldconfig

修改配置

cat >> /etc/sysctl.conf <<-EOF
kernel.shmmax = 500000000
kernel.shmmni = 4096
kernel.shmall = 4000000000
kernel.sem = 500 1024000 200 4096
kernel.sysrq = 1
kernel.core_uses_pid = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.msgmni = 2048
net.ipv4.tcp_syncookies = 1
net.ipv4.ip_forward = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.conf.all.arp_filter = 1
net.ipv4.ip_local_port_range = 1025 65535
net.core.netdev_max_backlog = 10000
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
vm.overcommit_memory = 2
EOF

使生效

sysctl -p

修改 limits

cat >> /etc/security/limits.conf <<-EOF
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
EOF

6.2、基于 GPORCA 構建

下載 gp-xerces 編譯

cd /usr/local
git clone https://github.com/greenplum-db/gp-xerces.git
cd gp-xerces
mkdir build
cd build
../configure --prefix=/usr/local/build-gp-xerces
make -j4 && make -j4 install
echo "/usr/local/build-gp-xerces/lib" >> /etc/ld.so.conf
ldconfig
cd /usr/local
rm -rf /usr/local/gp-xerces

編譯 gpdb

cd /usr/local/gpdb-6.20.0
PYTHON=/usr/bin/python3 ./configure --with-perl --with-python --with-libxml --prefix=/usr/local/gpdb --with-includes=/usr/local/build-gp-xerces/include --with-libraries=/usr/local/build-gp-xerces/lib --with-pam --enable-cassert --enable-depend

安裝

make -j8 && make -j8 install

在這里插入圖片描述

6.3、不基于 GPORCA 構建

cd /usr/local/gpdb-6.20.0
# make distclean# 安裝到 /usr/local/gpdb
PYTHON=/usr/bin/python3 ./configure --disable-orca --with-perl --with-python --with-libxml --prefix=/usr/local/gpdb  --with-pam --enable-cassert --enable-dependmake -j8 && make -j8 install

7、Greenplum-db 6.20.0 使用

編譯出來的可執行文件在 /usr/local/gpdb 目錄中,需要拷貝到部署的機器上
注意,有符號連接,不能 scp 直接拷貝目錄,需要 tar 壓縮后再拷貝、解壓

7.1、安裝 greenplum 單機版(1 master,2 segment)

7.1.1、關閉 SELINUX

vi /etc/selinux/config
SELINUX=disabled

在這里插入圖片描述

7.1.2、關閉防火墻

systemctl stop firewalld
systemctl disable firewalld

7.1.3、安裝單機版GP

1 master,2 segment
gp安裝準備

7.1.3.1、改機器名
#查機器名
uname -a
#改名為master
hostnamectl set-hostname master

在這里插入圖片描述

7.1.3.2、創建 gpaadmin 用戶和用戶組
groupadd -g 3030 gpadmin
useradd -u 3030 gpadmin -g gpadmin -d /home/gpdata
mkdir -p /home/gpdata
passwd gpadmin
# (密碼123456)
#補充知識點:刪除 groupdel gpadmin userdel gpadmin
7.1.3.3、配置內核參數
vim /etc/sysctl.conf

以下面內容覆蓋原有內容:

kernel.shmmax = 500000000
kernel.shmmni = 4096
kernel.shmall = 4000000000
kernel.sem = 250 512000 100 2048
kernel.sysrq = 1
kernel.core_uses_pid = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.msgmni = 2048
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.conf.all.arp_filter = 1
net.ipv4.ip_local_port_range = 10000 65535
net.core.netdev_max_backlog = 10000
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
vm.overcommit_memory = 2

使生效

sysctl -p
7.1.3.4、修改 limits
vim /etc/security/limits.conf

以下面內容覆蓋:

soft nofile 65536
hard nofile 65536
soft nproc 131072
hard nproc 131072

7.1.4、gp 安裝

7.1.4.1、設置 host
vi /etc/hosts

添加:192.168.100.161 master
在這里插入圖片描述
192.168.100.161 這里更改成你自己的ip地址

vi /etc/sysconfig/network

添加:hostname=master
在這里插入圖片描述

7.1.4.2、設置 gp6 環境變量
su gpadmin
cd /usr/local/gpdb
source greenplum_path.sh
7.1.4.3、創建 instance 需要的目錄
mkdir -p /home/gpdata
mkdir -p /home/gpdata/master
mkdir -p /home/gpdata/gp3
mkdir -p /home/gpdata/gp4#修改目錄屬主
chown -R gpadmin:gpadmin /home/gpdata
chown -R gpadmin:gpadmin /home/gpdata/master
chown -R gpadmin:gpadmin /home/gpdata/gp*

7.1.4.4、切換用戶 gpadmin
chown -R gpadmin:gpadmin /usr/local/gpdb
su gpadmin

進入$開頭的bash環境

cd ~
vi ~/.bash_profile

添加以下

source /usr/local/gpdb/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/home/gpdata/master/gpseg-1
vi ~/.bashrc

添加以下

source /usr/local/gpdb/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/home/gpdata/master/gpseg-1

7.1.4.5、權限互通
su gpadmin
cd /usr/local/gpdb/
vi all_host_list

添加一行
master
在這里插入圖片描述

su gpadmin
python /usr/local/gpdb/bin/gpssh-exkeys -f /usr/local/gpdb/all_host_list

在 ~/.ssh 目錄下生成一對密匙

su gpadmin
rm -rf ~/.ssh
ssh-keygen -t rsa

輸入該命令后會有提示,一直回車即可

將公共密匙保存到authorized_keys文件中,實現對自身免密碼登錄

cd ~/.ssh
cat id_rsa.pub >> authorized_keys

修改權限,需要修改 ~/.ssh 文件夾和 authorized_keys 文件的,不然會報不允許的錯誤或者無法出現 know_hosts 文件

chmod 700 ~/.ssh
chmod 644 ~/.ssh/authorized_keyssystemctl restart sshd

7.1.4.6、初始化 GP
vi /usr/local/gpdb/seg_hosts_file

寫入:
master
本例單機,只有master 這一臺

vi /usr/local/gpdb/initgp_config

添加以下內容

ARRAY_NAME="GPDB SINGLENODE"
declare -a DATA_DIRECTORY=(/home/gpdata/gp3 /home/gpdata/gp4)
MASTER_DIRECTORY=/home/gpdata/master
MASTER_HOSTNAME=master
SEG_PREFIX=gpseg
PORT_BASE=33000
MASTER_PORT=5432
DATABASE_NAME=gpdb
MACHINE_LIST_FILE=/usr/local/gpdb/seg_hosts_file
ENCODING=UNICODE
TRUSTED_SHELL=ssh
CHECK_POINT_SEGMENTS=8

初始化GP

/usr/local/gpdb/bin/gpinitsystem -c /usr/local/gpdb/initgp_config -h /usr/local/gpdb/all_host_list

7.1.5、連接GP

基本使用:https://www.cnblogs.com/kingle-study/p/10550785.html

/usr/local/gpdb/bin/gpstate -c

在這里插入圖片描述

/usr/local/gpdb/bin/gpstate -s

在這里插入圖片描述
登錄數據庫之前得先將程序運行,執行

/usr/local/gpdb/bin/gpstart

查詢所有數據庫

/usr/local/gpdb/bin/psql -l 

在這里插入圖片描述

附錄
其他啟停命令

  • gpstate #查看服務狀態
  • gpstart #正常啟動
  • gpstop #正常關閉
  • gpstop -M fast #快速關閉
  • gpstop r #重啟

服務器重啟后需要在 gpadmin 用戶下用 gpstart 啟動 gp 服務!!!

7.2、安裝 greenplum 單機集群(1 master,2 slave,2 mirror)

7.2.1、創建用戶組

groupadd gpadmin
useradd gpadmin -g gpadmin
passwd gpadmin

7.2.2、設置 host

su root
# ip要改成本機ip
cat >> /etc/hosts << EOF
192.168.102.30 mdw sdw1 sdw2
EOF
mkdir -p /home/gpadmin
chown -R gpadmin:gpadmin /home/gpadmin
su - gpadmin
cat >>  /home/gpadmin/hostlist << EOF
mdw
sdw1
sdw2
EOF
cat >>  /home/gpadmin/seg_hosts << EOF
sdw1
sdw2
EOF
su gpadmin
cd ~
vi ~/.bash_profile

添加以下

source /usr/local/gpdb/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/data/gpadmin/mdw/gpseg-1
vi ~/.bashrc

添加以下

source /usr/local/gpdb/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/data/gpadmin/mdw/gpseg-1

7.2.3、創建 instance 需要的目錄

su root
mkdir -p /data/gpadmin/mdw
mkdir -p /data/gpadmin/sdw1
mkdir -p /data/gpadmin/sdw1_mirror
mkdir -p /data/gpadmin/sdw2
mkdir -p /data/gpadmin/sdw2_mirror
chown gpadmin:gpadmin /data/gpadmin -R

7.2.4、初始化 GP

su gpadmin
cat >> /home/gpadmin/gpinitsystem_config << EOF
ARRAY_NAME="EMC Greenplum DW"
SEG_PREFIX=gpseg
PORT_BASE=33000
declare -a DATA_DIRECTORY=(/data/gpadmin/sdw1 /data/gpadmin/sdw2)
MASTER_HOSTNAME=mdw
MASTER_DIRECTORY=/data/gpadmin/mdw
MASTER_PORT=5432
MACHINE_LIST_FILE=/home/gpadmin/seg_hosts
TRUSTED_SHELL=ssh
CHECK_POINT_SEGMENTS=8
ENCODING=UNICODE
MIRROR_PORT_BASE=43000
REPLICATION_PORT_BASE=34000
MIRROR_REPLICATION_PORT_BASE=44000
declare -a MIRROR_DATA_DIRECTORY=(/data/gpadmin/sdw1_mirror /data/gpadmin/sdw2_mirror)
EOF
gpinitsystem -c /home/gpadmin/gpinitsystem_config

在這里插入圖片描述

gpstate -c

在這里插入圖片描述

psql -l

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/77300.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/77300.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/77300.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

機器學習02——概要

一、簡介 機器學習是一門在沒有明確編程的情況下讓計算機學習的科學。 監督學習是有目標的&#xff0c;輸入數據對應明確的輸出&#xff1b;無監督學習則是“探索”型的&#xff0c;模型的目標是從數據中發現潛在的模式或結構&#xff0c;而不需要預先知道標簽。 二、機器學…

swift-08-屬性、匯編分析inout本質

一、Swift中跟實例相關的屬性可以分為2大類 1.1 存儲屬性&#xff08; Stored Property&#xff09; 類似于成員變量這個概念 存儲在實例的內存中 結構體、類可以定義存儲屬性 枚舉不可以定義存儲屬性&#xff08;因為枚舉只存儲關聯值和case&#xff09; 1.2 計算屬性&am…

【HarmonyOS Next之旅】DevEco Studio使用指南(十二)

目錄 1 -> Code Linter代碼檢查 2 -> 配置代碼檢查規則 3 -> 查看/處理代碼檢查結果 1 -> Code Linter代碼檢查 Code Linter針對ArkTS/TS代碼進行最佳實踐/編程規范方面的檢查。 可根據掃描結果中告警提示手工修復代碼缺陷&#xff0c;或者執行一鍵式自動修復…

前端vue項目打包成桌面端exe應用

主要 使用 Electron將 vue項目打包為 exe 1.首先下載Electron git clone https://github.com/electron/electron-quick-start cd electron-quick-start npm install安裝完依賴之后 npm start運行成功 注意&#xff1a;如果你的項目使用了VueRouter&#xff0c;那么切記&…

基于springcloud的“微服務架構的巡游出租管理平臺”的設計與實現(源碼+數據庫+文檔+PPT)

基于springcloud的“微服務架構的巡游出租管理平臺”的設計與實現&#xff08;源碼數據庫文檔PPT) 開發語言&#xff1a;Java 數據庫&#xff1a;MySQL 技術&#xff1a;springcloud 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系統展示 系統總體結構圖 E-R實體關系圖…

新一代達夢官方管理工具SQLark:可視化建表操作指南

在數據庫管理工作中&#xff0c;新建表是一項基礎且頻繁的操作。SQLark 的可視化建表功能為我們提供了一種高效、便捷且絲滑流暢的建表新體驗。一起來了解下吧。 SQLark 官方下載鏈接&#xff1a;www.sqlark.com 新建表作為常見的功能&#xff0c;相比其他管理工具&#xff0c;…

Scala相關知識學習總結6

1、集合計算高級函數說明 - 過濾&#xff1a;遍歷集合&#xff0c;提取滿足特定條件的元素組成新集合。 - 轉化/映射&#xff08;map&#xff09;&#xff1a;將集合里的每個元素應用到指定函數進行轉換。 - 扁平化&#xff1a;文檔未詳細闡述其具體含義和操作。 - 扁平化映射&…

pandas.DataFrame.dtypes--查看和驗證 DataFrame 列的數據類型!

查看每列的數據類型&#xff0c;方便分析是否需要數據類型轉換 property DataFrame.dtypes[source] Return the dtypes in the DataFrame. This returns a Series with the data type of each column. The result’s index is the original DataFrame’s columns. Columns with…

計算機中的單位

在計算機科學中&#xff0c;單位用于衡量數據存儲、內存、數據傳輸速率等。以下是一些常見的計算機單位及其含義&#xff1a; ### **1. 數據存儲單位** 數據存儲單位用于衡量計算機存儲設備&#xff08;如硬盤、內存、閃存等&#xff09;的容量。 | 單位 | 符號 | 含義…

Spring Boot 自定義配置類(包含字符串、數字、布爾、小數、集合、映射、嵌套對象)實現步驟及示例

Spring Boot 自定義配置類實現步驟及示例 步驟說明 創建配置類&#xff1a;定義一個 POJO 類&#xff0c;使用 ConfigurationProperties 注解指定配置前綴。啟用配置綁定&#xff1a;在啟動類或配置類上添加 EnableConfigurationProperties 注解。配置文件寫法&#xff1a;在 …

Linux: 線程控制

目錄 一 前言 二 線程控制 1. POSIX線程庫(原生線程庫) 2. 創建線程 2.1 pthread_create 2.2pthread_self()獲取線程id 3.線程終止 3.1.return 方式 3.2 pthread_exit 4 線程等待 三 理解線程tid 一 前言 在上一篇文章中我們已經學習了線程的概念&#xff0c;線程的創…

避開養生誤區,擁抱健康生活

在追求健康的道路上&#xff0c;我們常常會陷入一些養生誤區&#xff0c;不僅無法達到預期效果&#xff0c;還可能損害身體健康。只有撥云見日&#xff0c;認清這些誤區&#xff0c;采取正確的養生方式&#xff0c;才能真正擁抱健康生活。? 很多人認為&#xff0c;保健品吃得…

<數據集>蘋果識別數據集<目標檢測>

數據集下載鏈接https://download.csdn.net/download/qq_53332949/90585216數據集格式&#xff1a;VOCYOLO格式 圖片數量&#xff1a;535張 標注數量(xml文件個數)&#xff1a;535 標注數量(txt文件個數)&#xff1a;535 標注類別數&#xff1a;2 標注類別名稱&#xff1a;…

【補題】P10424 [藍橋杯 2024 省 B] 好數(數位dp)

題意&#xff1a; 一個整數如果按從低位到高位的順序&#xff0c;奇數位&#xff08;個位、百位、萬位……&#xff09;上的數字是奇數&#xff0c;偶數位&#xff08;十位、千位、十萬位……&#xff09;上的數字是偶數&#xff0c;我們就稱之為“好數”。 給定一個正整數 N…

分布式存儲怎樣提高服務器數據的安全性?

分布式存儲是一種計算機數據存儲架構&#xff0c;主要是將數據信息分布存儲在多臺計算機或者是服務器上&#xff0c;以此來實現高可靠性、可擴展性和高性能&#xff0c;讓每個計算機或服務器可以通過網絡連接相互通信和協作。 分布式存儲系統會定期對重要的數據信息進行完整性檢…

數字IC后端培訓教程系列之PR Innovus工具寫出Calibre LVS用的Netlist詳細步驟

在數字IC后端設計實現chipfinish階段需要寫出很多數據&#xff0c;比如netlist&#xff0c;def&#xff0c;gds&#xff0c;lib和lef等文件。 今天給大家分享PR工具Innovus寫出Calibre物理驗證LVS要用的netlist的詳細步驟。 手把手教你debug解決物理驗證Calibre LVS錯誤 1&a…

TrueNAS scale(23.10) Restful API接口調用

背景 本文主要講解開源的NAS系統--TrueNAS的二次開發。 TrueNAS scale安裝 網上能找到很多類似的文章&#xff0c;本文就不介紹了&#xff0c;這里給一個視頻博主的傳送門&#xff1a; 司波圖 TrueNAS scale Resful API 接口 官網的 Resful API地址&#xff1a;TrueNAS REST…

卡爾曼濾波器淺聊

0 前言: 卡爾曼濾波屬于算法領域的,所以一些基本的數學概念是必須了解的 涉及到的數學基本概念 概念數學符號含義數學期望(Expected Value)E描述隨機變量平均取值的最核心概念概率(Probability)P(X= x i x_i xi?)隨機變量 X 取特定值 x i x_i xi?的概率方差(Varian…

1ll C++

在C++中,1ll 表示 long long 類型的整數常量1。這里的 ll 是 long long 的縮寫。這種寫法主要用于以下幾個方面: 1. 為什么需要 1ll? 在您的代碼中,1ll 主要用于 防止整數溢出 和 確保正確的類型轉換: cpp 復制 p = 1ll * p * i % MOD; f[i + 1] = 1ll * i * (i + 1) …

oracle 12c密碼長度,復雜度查看與設置

一 密碼長度和復雜度 Oracle 數據庫通過 PASSWORD_VERIFY_FUNCTION 來控制密碼復雜度。 1.1 查看當前的密碼復雜度設置 SELECT * FROM dba_profiles WHERE resource_name PASSWORD_VERIFY_FUNCTION; LIMIT表示分配給該 PROFILE 的密碼驗證函數名稱。如果為 NULL&#xff0c;…