hive metastore mysql_Hive MetaStore的結構

本篇主要是介紹Hive在MySQL中存儲的源數據的表結構。

Hive MetaStore 數據庫表結構圖

420ddb3bde7f

test.png

TBLS

記錄數據表的信息

字段

解釋

TBL_ID

在hive中創建表的時候自動生成的一個id,用來表示,主鍵

CREATE_TIME

創建的數據表的時間,使用的是時間戳

DBS_ID

這個表是在那個數據庫里面

LAST_ACCESS_TIME

最后一次訪問的時間戳

OWNER

數據表的所有者

RETENTION

保留時間

SD_ID

標記物理存儲信息的id

TBL_NAME

數據表的名稱

TBL_TYPE

數據表的類型,MANAGED_TABLE, EXTERNAL_TABLE, VIRTUAL_VIEW, INDEX_TABLE

VIEW_EXPANDED_TEXT

展開視圖文本,非視圖為null

VIEW_ORIGINAL_TEXT

原始視圖文本,非視圖為null

TBLS的SD_ID與SDS的SD_ID進行關聯,TBLS的DB_ID與DBS的DB_ID進行關聯,相關的thrift類為Table,StorageDescriptor。

//由于TBLS與DBS有關聯,可以看到當前表是數據那個數據庫。

//表的信息

mysql> select * from tbls where tbl_id=71 and db_id=1;

+--------+-------------+-------+------------------+--------+-----------+-------+----------+---------------+--------------------+--------------------+

| TBL_ID | CREATE_TIME | DB_ID | LAST_ACCESS_TIME | OWNER | RETENTION | SD_ID | TBL_NAME | TBL_TYPE | VIEW_EXPANDED_TEXT | VIEW_ORIGINAL_TEXT |

+--------+-------------+-------+------------------+--------+-----------+-------+----------+---------------+--------------------+--------------------+

| 71 | 1548340018 | 1 | 0 | hadoop | 0 | 91 | emp | MANAGED_TABLE | NULL | NULL |

+--------+-------------+-------+------------------+--------+-----------+-------+----------+---------------+--------------------+--------------------+

//數據庫的信息

mysql> select * from dbs where db_id=1;

+-------+-----------------------+-------------------------------------------+---------+------------+------------+

| DB_ID | DESC | DB_LOCATION_URI | NAME | OWNER_NAME | OWNER_TYPE |

+-------+-----------------------+-------------------------------------------+---------+------------+------------+

| 1 | Default Hive database | hdfs://hadoop001:9000/user/hive/warehouse | default | public | ROLE |

+-------+-----------------------+-------------------------------------------+---------+------------+------------+

Version

這個表是記錄Hive的版本,這個表里面只能有一條記錄,這樣Hive才能啟動。在創建源數據表的時候,自動寫入的信息。相關的thrift類為version。

在初始化源數據表的時候,插入一條數據。

INSERT INTO VERSION (VER_ID, SCHEMA_VERSION, VERSION_COMMENT) VALUES (1, '1.1.0', 'Hive release version 1.1.0');

//獲取到的結果為:

mysql> select * from version;

+--------+----------------+--------------------------------------+

| VER_ID | SCHEMA_VERSION | VERSION_COMMENT |

+--------+----------------+--------------------------------------+

| 1 | 1.1.0 | Set by MetaStore hadoop@10.140.42.16 |

+--------+----------------+--------------------------------------+

DBS

記錄數據庫的信息

字段

解釋

DB_ID

數據庫的編號,默認的數據庫編號為1,如果創建其他數據庫的時候,這個字段會自增,主鍵

DESC

對數據庫進行一個簡單的介紹

DB_LOCATION_URI

數據庫的存放位置,默認是存放在hdfs://ip:9000/user/hive/warehouse,如果是其他數據庫,就在后面添加目錄,默認位置可以通過參數hive.metastore.warehouse.dir來設置

NAME

數據庫的名稱

OWNER_NAME

數據庫所有者名稱

OWNER_TYPE

數據庫所有者的類型

DBS的DB_ID與DATABASE_PARAMS的DB_ID進行關聯。

相關的thrift類為Database

#查看所有的數據庫

mysql> select * from dbs;

+-------+-----------------------+------------------------------------------------------+---------+------------+------------+

| DB_ID | DESC | DB_LOCATION_URI | NAME | OWNER_NAME | OWNER_TYPE |

+-------+-----------------------+------------------------------------------------------+---------+------------+------------+

| 1 | Default Hive database | hdfs://hadoop001:9000/user/hive/warehouse | default | public | ROLE |

| 2 | NULL | hdfs://hadoop001:9000/user/hive/warehouse/xiaoyao.db | xiaoyao | hadoop | USER |

+-------+-----------------------+------------------------------------------------------+---------+------------+------------+

TABLE_PARAMS

字段

解釋

TBL_ID

數據的編號

PARAM_KEY

參數

PARAM_VALUE

參數的值

TABLE_PARAMS的TBL_ID與TBLS的TBL_ID的進行關聯,TBL_ID與PARAM_KEY作為聯合主鍵。

每個表的信息基本上都有如下屬性:

參數

COLUMN_STATS_ACCURATE

精確統計列

numFiles

文件數

numRows

行數

rawDataSize

原始數據大小

totalSize

當前大小

transient_lastDdlTime

最近一次操作的時間戳

Spark相關有其他的屬性暫不解釋。

//對tbls中的數據表進行一個介紹:文件的數量、數據行數、數據總的大小等介紹

mysql> select * from table_params where tbl_id=71;

+--------+-----------------------+-------------+

| TBL_ID | PARAM_KEY | PARAM_VALUE |

+--------+-----------------------+-------------+

| 71 | COLUMN_STATS_ACCURATE | true |

| 71 | numFiles | 1 |

| 71 | numRows | 0 |

| 71 | rawDataSize | 0 |

| 71 | totalSize | 701 |

| 71 | transient_lastDdlTime | 1548340028 |

+--------+-----------------------+-------------+

SDS

此對象包含有關屬于表的數據的物理存儲的所有信息,數據表的存儲描述

字段

解釋

SD_ID

主鍵

CD_ID

數據表編號

INPUT_FORMAT

數據輸入格式

IS_COMPRESSED

是否對數據進行了壓縮

IS_STOREDASSUBDIRECTORIES

是否進行存儲在子目錄

LOCATION

數據存放位置

NUM_BUCKETS

分桶的數量

OUTPUT_FORMAT

數據的輸出格式

SERDE_ID

序列和反序列的信息

SDS的SERDE_ID與SERDES的SERDE_ID進行關聯,SDS的CD_ID與CDS的CD_ID進行關聯。相關的thrift表為StorageDescriptor。

//數據的存儲格式

mysql> select * from sds where sd_id=91;

+-------+-------+------------------------------------------+---------------+---------------------------+-----------------------------------------------+-------------+------------------------------------------------------------+----------+

| SD_ID | CD_ID | INPUT_FORMAT | IS_COMPRESSED | IS_STOREDASSUBDIRECTORIES | LOCATION | NUM_BUCKETS | OUTPUT_FORMAT | SERDE_ID |

+-------+-------+------------------------------------------+---------------+---------------------------+-----------------------------------------------+-------------+------------------------------------------------------------+----------+

| 91 | 71 | org.apache.hadoop.mapred.TextInputFormat | | | hdfs://hadoop001:9000/user/hive/warehouse/emp | -1 | org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat | 91 |

+-------+-------+------------------------------------------+---------------+---------------------------+-----------------------------------------------+-------------+------------------------------------------------------------+----------+

CDS

記錄數據表的編號

字段

解釋

CD_ID

主鍵,記錄數據表的編號

這個是一個自增的序列,就是一個標識。

SERDES

記錄序列化和反序列化信息

字段

解釋

SERDE_ID

主鍵,記錄序列化的編號

NAME

序列化和反序列化名稱,默認為表名

SLIB

使用的是哪種序列化方式

相關的thrift表為SerDeInfo

//使用何種序列化

mysql> select * from serdes where serde_id=91;

+----------+------+----------------------------------------------------+

| SERDE_ID | NAME | SLIB |

+----------+------+----------------------------------------------------+

| 91 | NULL | org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe |

+----------+------+----------------------------------------------------+

SERDES_PARAMS

字段

解釋

SERDE_ID

主鍵,記錄序列化的編號

PARAM_KEY

參數名稱

PARAM_VALUE

參數的值

SERDES_PARAMS的SERDE_ID與SERDES的SERDE_ID進行關聯。

//序列化的方式

mysql> select * from serde_params where serde_id=91;

+----------+----------------------+-------------+

| SERDE_ID | PARAM_KEY | PARAM_VALUE |

+----------+----------------------+-------------+

| 91 | field.delim | |

| 91 | serialization.format | |

+----------+----------------------+-------------+

DATABASE_PARAMS

字段

解釋

DB_ID

數據庫的編號

PARAM_KEY

參數名稱

PARAM_VALUE

參數值

DB_ID是一個主鍵,使得DBS與DATABASE_PARAMS關聯。

TAB_COL_STATS

數據表的列信息統計

字段

解釋

CS_ID

列統計編號

AVG_COL_LEN

數據的平均長度

MAX_COL_LEN

數據的最大長度

COLUMN_NAME

列的名字

COLUMN_TYPE

列的類型

DB_NAME

數據庫的名稱

BIG_DECIMAL_HIGH_VALUE

數據中最大的Decimal值

BIG_DECIMAL_LOW_VALUE

數據中最小的Decimal值

DOUBLE_HIGH_VALUE

數據中最大的Double值

DOUBLE_LOW_VALUE

數據中最小的Double值

LAST_ANALYZED

最新一次解析的時間戳

LONG_HIGH_VALUE

數據中最大的Long值

LONG_LOW_VALUE

數據中最小的Long值

NUM_DISTINCTS

不同記錄的數量

NUM_FALSES

為false的數量

NUM_NULLS

為null的數量

NUM_TRUES

為true的數量

TBL_ID

數據表的編號

TABLE_NAME

數據表的名稱

通過tbl_id使得TAB_COL_STATS與tbls關聯。

相關的thrift類有:BooleanColumnStatsData、DoubleColumnStatsData、LongColumnStatsData、StringColumnStatsData、BinaryColumnStatsData、

Decimal、DecimalColumnStatsData、ColumnStatisticsData、ColumnStatisticsObj、ColumnStatisticsDesc、ColumnStatistics

Sort_COLS

記錄要進行排序的列

字段

解釋

SD_ID

數據表物理信息描述的編號

COLUMN_NAME

列的名稱

ORDER

排序方式

COLUMNS_V2

用于描述列的信息

字段

解釋

CD_ID

表的編號

COMMENT

相關描述信息

COLUMN_NAME

列的名稱

TYPE_NAME

類的類型

這個表與cds通過cd_id關聯。

mysql> select * from columns_v2 where cd_id=71;

+-------+---------+-------------+-----------+-------------+

| CD_ID | COMMENT | COLUMN_NAME | TYPE_NAME | INTEGER_IDX |

+-------+---------+-------------+-----------+-------------+

| 71 | NULL | common | double | 6 |

| 71 | NULL | deptno | int | 7 |

| 71 | NULL | empno | int | 0 |

| 71 | NULL | ename | string | 1 |

| 71 | NULL | hiredate | string | 4 |

| 71 | NULL | job | string | 2 |

| 71 | NULL | mgr | int | 3 |

| 71 | NULL | sal | double | 5 |

+-------+---------+-------------+-----------+-------------+

FUNCS

記錄hive中函數的信息

字段

解釋

FUNC_ID

函數的編號

CLASS_NAME

自定義函數的類的名稱

CREATE_TIME

函數創建時間

DB_ID

作用于那個數據庫

FUNC_NAME

方法名稱

FUNC_TYPE

方法類型

OWNER_NAME

所有者名稱

OWNER_TYPE

所有者類型

這個表里面記錄一些hive自帶的函數和用戶自定義的函數。

相關的thrift類為Function。

FUNC_RU

對函數的相關參數進行描述。

字段

解釋

FUNC_ID

函數的便阿訇

RESOURCE_TYPE

資源的類型

RESOURCE_URI

資源的uri

相關的thrift類為:ResourceUri、ResourceType。

分區表

PARTITIONS

字段

解釋

PART_ID

分區的編號

CREATE_TIME

創建分區的時間

LAST_ACCESS_TIME

最近一次訪問時間

PART_NAME

分區的名字

SD_ID

存儲描述的id

TBL_ID

數據表的id

相關的thrift類為:Partition。

#記錄要按照某個字段的值進行分區

mysql> select * from partitions;

+---------+-------------+------------------+-----------------+-------+--------+

| PART_ID | CREATE_TIME | LAST_ACCESS_TIME | PART_NAME | SD_ID | TBL_ID |

+---------+-------------+------------------+-----------------+-------+--------+

| 16 | 1543046086 | 0 | pt=xiaoyao | 46 | 26 |

| 21 | 1543071202 | 0 | date=2016-05-05 | 56 | 32 |

+---------+-------------+------------------+-----------------+-------+--------+

PARTITION_PARAMS

字段

解釋

PART_ID

分區的編號

PARAM_KEY

參數

PARAM_VALUE

參數的值

mysql> select * from partition_params where part_id=21;

+---------+-----------------------+-------------+

| PART_ID | PARAM_KEY | PARAM_VALUE |

+---------+-----------------------+-------------+

| 21 | COLUMN_STATS_ACCURATE | true |

| 21 | numFiles | 1 |

| 21 | numRows | 0 |

| 21 | rawDataSize | 0 |

| 21 | totalSize | 604236 |

| 21 | transient_lastDdlTime | 1543071202 |

+---------+-----------------------+-------------+

PARTITION_KEYS

字段

解釋

TBL_ID

數據表的編號

PKEY_COMMENT

分區字段的描述

PKEY_NAME

分區字段的名稱

PKEY_TYPE

分區字段的類型

相關的thrift類為:FieldSchema。

//指定按照那個字段進行分區

mysql> select * from partition_keys;

+--------+--------------+-----------+-----------+-------------+

| TBL_ID | PKEY_COMMENT | PKEY_NAME | PKEY_TYPE | INTEGER_IDX |

+--------+--------------+-----------+-----------+-------------+

| 26 | NULL | pt | string | 0 |

| 32 | NULL | date | string | 0 |

+--------+--------------+-----------+-----------+-------------+

PARTITION_KEY_VALS

字段

解釋

PART_ID

分區編號

PART_KEY_VAL

分區字段的值

//按照值分區之后,這是第幾個分區

mysql> select * from partition_key_vals;

+---------+--------------+-------------+

| PART_ID | PART_KEY_VAL | INTEGER_IDX |

+---------+--------------+-------------+

| 16 | xiaoyao | 0 |

| 21 | 2016-05-05 | 0 |

+---------+--------------+-------------+

查看表的信息

//可以使用命令查看表的所有信息,分區表亦如是。

hive (default)> desc formatted emp;

#表類的信息,對應的表為:COLUMNS_V2

# col_name data_type comment

empno int

ename string

job string

mgr int

hiredate string

sal double

common double

deptno int

# 數據表的詳細信息 ,對應的數據表為:TBLS

Database: default

Owner: hadoop

CreateTime: Thu Jan 24 22:26:58 CST 2019

LastAccessTime: UNKNOWN

Protect Mode: None

Retention: 0

Location: hdfs://hadoop001:9000/user/hive/warehouse/emp

Table Type: MANAGED_TABLE

Table Parameters:

COLUMN_STATS_ACCURATE true

numFiles 1

numRows 0

rawDataSize 0

totalSize 701

transient_lastDdlTime 1548340028

# 表的存儲信息 對應的數據表為:TBLS

SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe

InputFormat: org.apache.hadoop.mapred.TextInputFormat

OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat

Compressed: No

Num Buckets: -1

Bucket Columns: []

Sort Columns: []

Storage Desc Params:

field.delim \t

serialization.format \t

Time taken: 0.253 seconds, Fetched: 39 row(s)

分區表信息

hive (xiaoyao)> desc formatted emp_test_p;

#列的信息

# col_name data_type comment

empno int

ename string

job string

mgr int

hiredate string

sal double

common double

deptno int

# 分區信息

# col_name data_type comment

pt string

# 表信息

Database: xiaoyao

Owner: hadoop

CreateTime: Sat Nov 24 15:50:25 CST 2018

LastAccessTime: UNKNOWN

Protect Mode: None

Retention: 0

Location: hdfs://hadoop001:9000/user/hive/warehouse/xiaoyao.db/emp_test_p

Table Type: MANAGED_TABLE

Table Parameters:

transient_lastDdlTime 1543045825

# 存儲信息

SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe

InputFormat: org.apache.hadoop.mapred.TextInputFormat

OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat

Compressed: No

Num Buckets: -1

Bucket Columns: []

Sort Columns: []

Storage Desc Params:

field.delim \t

serialization.format \t

刪除表

1.Hive中刪除

drop table emp;

2.在MetaStore刪除數據表

drop procedure if exists t1;

create procedure t1 ( in tbinput int)

begin

declare v_sd_id int ;

declare v_part_id int ;

declare v_cd_id int ;

declare v_serde_id int ;

select tbinput;

select SD_ID into v_sd_id from tbls where TBL_ID = tbinput;

select part_id into v_part_id from partitions where tbl_id = tbinput;

select cd_id , serde_id into v_cd_id,v_serde_id from sds where sd_id = v_sd_id;

select v_sd_id,v_part_id,v_cd_id,v_serde_id;

if v_part_id is not null then

delete from partition_params where part_id = v_part_id;

delete from partition_key_vals where part_id = v_part_id;

end if;

delete from serdes where serde_id = v_serde_id;

delete from serde_params where serde_id = v_serde_id;

delete from columns_v2 where cd_id = v_cd_id;

delete from sds where sd_id = v_sd_id;

delete from partitions where tbl_id = tbinput;

delete from partition_keys where tbl_id = tbinput;

delete from table_params where tbl_id = tbinput;

delete from tbls where tbl_id = tbinput;

end ;

存放sql語句的位置:hive-1.1.0-cdh5.7.0/metastore/scripts/upgrade/mysql/hive-schema-1.1.0.mysql.sql

存放thrift相關文件的位置:hive-1.1.0-cdh5.7.0/metastore/if/hive_metastore.thrift

存放java相關文件的位置:hive-1.1.0-cdh5.7.0/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api

參考文檔:

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

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

相關文章

修煉一名程序員的職業水準

程序就是一系列按步驟進行的操作序列,它有好多種級別,比如最低級的微程序、次低級的匯編程序、高級的各種編程語言程序、最高級的腳本語言程序,也許我列的不對,但沒關系,我要說的是不管是那個級別的程序,其…

Rails開發細節《一》

常用命令 rails new new_app cd new_app rake db:create rails server rails generate controller Blog action1 action2 rails generate scaffold Product title:string description:textrails generate model Comment commenter:string body:text post:references rake db…

latex中怎樣使公式居中_LaTeX_多行公式對齊居中的同時選擇性的加編號

標簽: 【轉載請注明出處】http://www.cnblogs.com/mashiqi 2016/10/20 一年多沒寫博文了。今天寫一個短的,記錄一下使用LaTeX的一些經驗。 如何居中多行的公式呢?我試過很多種方法后,覺得下面這個最好用: 1 \begin{flalign*}2 % In this way (this arrange of &), the…

[SDOI2008]Cave 洞穴勘測

題目描述 輝輝熱衷于洞穴勘測。 某天,他按照地圖來到了一片被標記為JSZX的洞穴群地區。經過初步勘測,輝輝發現這片區域由n個洞穴(分別編號為1到n)以及若干通道組成,并且每條通道連接了恰好兩個洞穴。假如兩個洞穴可以通…

Linux指令大全

名稱:cat 使用權限:所有使用者 使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName 說明:把檔案串連接后傳到基本輸出(螢幕或加 > fileName 到另一個檔案) 參數: -n 或 --number 由 …

mysql宏參數_C語言帶參數的宏定義

C語言允許宏帶有參數。在宏定義中的參數稱為“形式參數”,在宏調用中的參數稱為“實際參數”,這點和函數有些類似。對帶參數的宏,在展開過程中不僅要進行字符串替換,還要用實參去替換形參。帶參宏定義的一般形式為:#de…

自定義過濾器

首先在web.xml中對過濾器的監聽 1 <!-- 自定義過濾器 -->2 <filter>3 <filter-name>AscFilter</filter-name>4 <filter-class>com.llh.filter.AscFilter</filter-class>5 </filter>6 <filter-mapping>7 …

[MS Sql Server術語解釋]預讀,邏輯讀,物理讀

在MSSQL中使用 SET STATISTICS IO ON 打開IO統計功能之后&#xff0c;每次執行完一個查詢就會在下面的【消息】面板中顯示本次查詢IO的統計信息。 (0 行受影響) 表 demo。掃描計數 1&#xff0c;邏輯讀取 622 次&#xff0c;物理讀取 0 次&#xff0c;預讀 0 次&#xff0c;lob…

mysql 數據庫查詢測試_MySQL查詢測試經驗

測試表geoinfo,整個表超過1100萬行&#xff0c;表結構&#xff1a;CREATE TABLEgeoinfo (objectidint(11) NOT NULLAUTO_INCREMENT ,latitudedouble NOT NULL,longitudedouble NOT NULL,occupancybit(1) NOT NULL,timedatetime NOT NULL,cabidvarchar(16) NOT NULL,PRIMARY KEY…

更改阿里云域名解析臺里某個域名綁定的IP之后不能解析到新IP

1.由于要撤銷一組負載均衡&#xff0c;所以需要更改阿里云域名解析臺里某個域名由原來綁定的負載均衡公網IP換到服務器公網IP 2.在服務器上nginx指定了域名訪問&#xff0c;開啟nginx服務 3.暫時關閉該組負載均衡服務 4.實現通過服務器IP可以訪問項目&#xff0c;域名訪問不了 …

秒懂數據類型的真諦—Python基礎前傳(4)

一切編程語言都是人設計的&#xff0c;既然是人設計的&#xff0c;那么設計各種功能的時候就一定會有它的道理&#xff0c;那么設計數據類型的用意是什么呢&#xff1f; (一) 基本數據類型 基本數據類型&#xff1a; 數字 int字符串 str布爾值 bool列表 list元組 tuple字典 dic…

Linux 系統命令及其使用詳解(大全)

Linux 系統命令及其使用詳解(大全) (來源: 中國系統分析員) cat cd   chmod chown   cp cut   名稱&#xff1a;cat   使用權限&#xff1a;所有使用者   使用方式&#xff1a;cat[-AbeEnstTuv] [--help] [--version] fileName   說明&#xff1a;把檔案串連…

wordpress配置SMTP服務發送郵件

使用SMTP服務發送郵件&#xff0c;需要使用一個插件&#xff1a;http://wordpress.org/extend/plugins/wp-mail-smtp/ 下載完成以后解壓到plugin目錄&#xff0c;然后在插件中啟用這個插件。 配置SMTP服務 SMTP的選項 發送一封測試郵件吧 >>> 本文轉自齊師傅博客園博客…

使用rpm包安裝mysql_centos下利用rpm包安裝mysql

安裝mysql步驟&#xff1a;第一、 http://www.mysql.com/downloads/mysql-4.0.html下載MySQL-client-5.0.96-1.glibc23.x86_64.rpm和MySQL-server-5.0.96-1.glibc23.x86_64.rpm第二、安裝服務端&#xff1a;[rootlfl01 mysql]# rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rp…

maxN - 返回數組中N個最大元素 minN - 返回數組中N個最小元素

從提供的數組中返回 n 個最小元素。如果 n 大于或等于提供的數組長度&#xff0c;則返回原數組&#xff08;按降序排列&#xff09;。 結合使用Array.sort() 與展開操作符(...) &#xff0c;創建一個數組的淺克隆&#xff0c;并按降序排列。 使用 Array.slice() 以獲得指定的元…

Linux 常用命令

Linux之所以受到廣大計算機愛好者的喜愛&#xff0c;主要原因有兩個&#xff0c;首先它是自由軟件&#xff0c;用戶不用支付費用就可以使用它&#xff0c;并可根據自己的需要對它進行修改。另外&#xff0c;它具有Unix的全部功能&#xff0c;任何使用Unix系統或想要學習Unix系統…

使用Server 2008新GPO做驅動器映射

在Server 2003的時代&#xff0c;我們為用戶做網絡驅動器映射(以下就直接稱為Map Network Drive&#xff09;, 通常可能有以下的做法. 方法一: 做一個登錄腳本&#xff0c;放在DC的netlogon目錄&#xff0c;接著在“Active Directory用戶和計算機”控制臺的用戶屬性的Logon S…

electron 打包后 __static_electron開發客戶端注意事項(兼開源個人知識管理工具“想學嗎”)...

窗口間通信的問題electron窗口通信比nwjs要麻煩的多electron分主進程和渲染進程&#xff0c;渲染進程又分主窗口的渲染進程和子窗口的渲染進程主窗口的渲染進程給子窗口的渲染進程發消息subWin.webContents.on(dom-ready, () > {subWin.webContents.send(message, {title: s…

180118 有趣的人工智能對話小程序

print(Hello world!) #輸入 print(What is your name?) # ask for their name 詢問名字 myName input()   #該你來回答名字了 print(It is good to meet you, myName)  #根據你的名字來給你打個招呼 print(The length of your name is:)  #然后看下一句 print(len(…

Linux 內核調試器 調試指南

Linux 內核調試器內幕 KDB 入門指南 Hariprasad Nellitheertha (nhariprain.ibm.com), 軟件工程師, IBM簡介&#xff1a; 調試內核問題時&#xff0c;能夠跟蹤內核執行情況并查看其內存和數據結構是非常有用的。Linux 中的內置內核調試器 KDB 提供了這種功能。在本文中您將了解…