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.mzph.cn/news/453666.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

更改阿里云域名解析台里某个域名绑定的IP之后不能解析到新IP

1.由于要撤销一组负载均衡,所以需要更改阿里云域名解析台里某个域名由原来绑定的负载均衡公网IP换到服务器公网IP 2.在服务器上nginx指定了域名访问,开启nginx服务 3.暂时关闭该组负载均衡服务 4.实现通过服务器IP可以访问项目,域名访问不了 …

秒懂数据类型的真谛—Python基础前传(4)

一切编程语言都是人设计的,既然是人设计的,那么设计各种功能的时候就一定会有它的道理,那么设计数据类型的用意是什么呢? (一) 基本数据类型 基本数据类型: 数字 int字符串 str布尔值 bool列表 list元组 tuple字典 dic…

wordpress配置SMTP服务发送邮件

使用SMTP服务发送邮件,需要使用一个插件:http://wordpress.org/extend/plugins/wp-mail-smtp/ 下载完成以后解压到plugin目录,然后在插件中启用这个插件。 配置SMTP服务 SMTP的选项 发送一封测试邮件吧 >>> 本文转自齐师傅博客园博客…

使用Server 2008新GPO做驱动器映射

在Server 2003的时代,我们为用户做网络驱动器映射(以下就直接称为Map Network Drive), 通常可能有以下的做法. 方法一: 做一个登录脚本,放在DC的netlogon目录,接着在“Active Directory用户和计算机”控制台的用户属性的Logon S…

Linux 内核调试器 调试指南

Linux 内核调试器内幕 KDB 入门指南 Hariprasad Nellitheertha (nhariprain.ibm.com), 软件工程师, IBM简介: 调试内核问题时,能够跟踪内核执行情况并查看其内存和数据结构是非常有用的。Linux 中的内置内核调试器 KDB 提供了这种功能。在本文中您将了解…

学习API HOOK,编写了一个winsock 的封包抓取程序,可免费使用;

开发环境是:windows 2000 delphi 7 监视API:recv,recvfrom,WSARecvEx,send,sendto,accept,bind,closesocket,connect socket 版本:wsock32.dll/*ws2_32.dll(暂时有兼容问题) 目前还不支持修改封包; 当前实现针对某个进程或多个选定进程的通…

MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作

MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作 上一篇博文MyBatis学习总结(一)——MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对users表执行CRUD操作。本文中使…

cifs mount 挂载共享目录_安装cifsutils解决linux挂载windows共享文件夹

1、安装mount.cifs软件包yum install cifs-utils -y如果是离线环境,请参考我的另一篇文章https://blog.csdn.net/qq_37119960/article/details/1083313732、开始挂载mount.cifs //192.168.1.110/share /usr/local/winshare -o useradministrator,pass123456参数说明…

JFinal框架

FJinal过滤器(tomcat) 创建java类继承JFinalConfig 会实现六个方法(有一个是拦截器的方法好像是,那个我好像看的跟struts2一样但是又没看懂暂时不写) Controller层的测试方法 Entity实体类 常用方法 查询 增加 删除 修改 转载于:https://www.cnblogs.com/guanzhuang/p/8317949.…

掌握 Linux 调试技术 使用 GDB 调试 Linux 软件

简介: 您可以用各种方法来监控运行着的用户空间程序:可以为其运行调试器并单步调试该程序,添加打印语句,或者添加工具来分析程序。本文描述了几种可以用来调试在 Linux 上运行的程序的方法。我们将回顾四种调试问题的情况&#xf…

集合之二:迭代器

迭代器的简单使用 在遍历容器时,我们可以使用for循环或者是增强for循环,但是不同的集合结构在遍历时,我们要针对集合特点采取不同的方式,比如List是链表,我们可以直接当做数组处理,但Map是Key—Value的形式…

开源Java反编译工具

Java 反编译器 1. JD-GUI JD-GUI 是一个用 C 开发的 Java 反编译工具,由 Pavel Kouznetsov开发,支持Windows、Linux和苹果Mac Os三个平台。 而且提供了Eclipse平台下的插件JD-Eclipse。JD-GUI不需要安装,直接点击运行,可以反编译j…

python自动取款机程序_python ATM取款机----运维开发初学(上篇)

自动取款机基本功能:可以存取转账,刷卡信息查询,银行卡号历史信息查询,消费记录查询,修改密码。思维导图如下:数据库设计:mysql> desc balan_list; #保存账号交易记录option_type-----------…

阿里服务器+Centos7.4+Tomcat+JDK部署

适用对象 本文档介绍如何使用一台基本配置的云服务器 ECS 实例部署 Java web 项目。适用于刚开始使用阿里云进行建站的个人用户。 配置要求 这里列出的软件版本仅代表写作本文档使用的版本。操作时,请您以实际软件版本为准。 操作系统:CentOS 7.4Tomcat …

php输出mysqli查询出来的结果

php连接mysql我有文章已经写过了,这篇文章主要是介绍从mysql中查询出结果之后怎么输出的问题。 一:mysqli_fetch_row(); 查询结果:array([0]>小王) 查询: [php] view plaincopy while ($row mysqli_fetch_assoc($result)) …

rhel mysql安装_RHEL6.4下MySQL安装方法及简单配置

1.MySQL安装方法简介 1.rpm包yum安装 2.通用二进制包安装 3.源码编译安装 注意:实验所采用的系统平台为:RHEL6.4 2.rpm ins首页 → 数据库技术背景:阅读新闻RHEL6.4下MySQL安装方法及简单配置[日期:2014-04-08]来源:Li…

H.264算法的DSP移植与优化

摘要:在TMS320DM643平台上实现H.264基档次编码器的移植与优化显得格外实用和必要。基于对DSP平台的结构特性和H.264的计算复杂度分析,主要从核心算法、数据传输和存储器/Cache使用几方面对H.264编码器进行了…

java-linux-eclipse配置

转载于:https://www.cnblogs.com/sheying/p/8327517.html

n皇后问题java_经典n皇后问题java代码实现

问题描述:在n*n的二维表格,把n个皇后在表格上,要求同一行、同一列或同一斜线上不能有2个以上的皇后。例如八皇后有92种解决方案,五皇后有10种解决方案。public class TestQueen {int n; //皇后的个数int num 0; // 记录方案数int…

nagios监控服务器的搭建

nagios 概述: 开源的免费的网络监视工具。 监控: windows, Linux,Unix,交换机和路由器。报警。 Nagios是插件式的结构,它本身没有任何监控功能,所有的监控都是通过插件进行的,因此其是高度模块化和富于弹性的。Nagios…