这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

快速入门指南

此部分包含设置 Vertica 安装环境、加载数据和使用各种客户端驱动程序的简短指南。

文档中的示例使用 $ 表示终端提示,使用 => 表示 vsql 提示。

该图表显示了快速入门指南中的六个步骤:准备安装环境、安装 Vertica、创建数据库和用户、加载示例数据、监控数据库和连接客户端

1 - 准备安装环境

在安装 Vertica 之前,必须配置您的环境。

要在内部环境中运行 Vertica Enterprise,请按照下面编号的说明进行操作。

要改为在虚拟机中运行 Vertica,请参阅Vertica 社区版 (CE)

  1. 将安装文件复制到您的主目录。该示例显示了用于 CentOS/RHEL 的 rpm 文件,但您可能有用于 Debian 的 deb 文件。

    
    $ scp vertica-10.1.0.x86_64.RHEL6.rpm /~
    
  2. 标识当前节点的 IP 地址。

    $ ipconfig -a
    

    如果在您的路径中找不到 ipconfig 命令,可以尝试使用路径 /sbin/ipconfig/usr/sbin/ipconfig 直接运行它。如果这些都不起作用,请使用 ip 命令:

    $ ip a
    
  3. 确保软件包是最新的。根据您的发行版运行命令。

    在 CentOS 和 RedHat 上:

    $ sudo yum update -y
    

    在 openSUSE 上:

    $ sudo zypper up
    

    在 Debian 和 Ubuntu 上:

    $ sudo apt-get update && sudo apt-get upgrade
    
  4. 将 swappiness 设置为 1(推荐)。

    $ sudo systemctl vm.swappiness=1
    
  5. 验证 SELinux 是在许可模式下运行还是被禁用。

    $ sudo setenforce 0
    
  6. 禁用系统防火墙。

    $ sudo systemctl mask firewalld
    $ sudo systemctl disable firewalld
    $ sudo systemctl stop firewalld
    
  7. 安装 Vertica

2 - 安装 Vertica

  1. 要从二进制文件安装,请根据您的发行版运行命令。

    在 CentOS、RedHat 和 openSUSE 上:

    $ sudo rpm -Uvh vertica-10.1.0.x86_64.RHEL6.rpm
    

    在 Debian 和 Ubuntu 上:

    $ sudo dpkg -i vertica-10.1.0.x86_64.deb
    
  2. 运行安装脚本。以下命令指定 localhost、rpm、数据库管理员和主目录。

    $ sudo /opt/vertica/sbin/install_vertica -s localhost -r vertica-10.1.0.x86_64.RHEL6.rpm
    -u dbadmin -g dbadmin -d /home/dbadmin -p vertica -L -Y
    
  3. 切换到新创建的 dbadmin 用户。

    $ su dbadmin
    
  4. 运行 admintools 并接受 EULA 和操作许可证。

    $ admintools
    
  5. 创建数据库和用户。

3 - 加载示例数据

Vertica 提供了多种解决方案,用于加载包含结构化和非结构化数据以及多种格式的文件。

创建示例数据文件

使用以下内容创建一个名为 cities.csv 的示例 CSV 文件并将其保存到 /home/dbadmin/cities.csv。

City,State,Zip,Population
Boston,MA,02108,694583
Chicago,IL,60601,2705994
Seattle,WA,98101,744955
Dallas,TX,75201,1345047
New York,NY,10001,8398748

从文件加载结构化数据

  1. 运行 vsql。

    $ vsql
    
  2. 创建 cities 表。

    => CREATE TABLE cities (
    city       varchar(20),
    state      char(2),
    zip        int,
    population int
    );
    
  3. 使用 COPY 语句从 cities.csv 文件加载数据。以下命令在主目录中记录异常和拒绝。

    => COPY cities FROM LOCAL '/home/dbadmin/cities.csv' DELIMITER ',' NULL '' EXCEPTIONS '/home/dbadmin/cities_exceptions.log'
    REJECTED DATA '/home/dbadmin/cities_rejections.log';
    
  4. 查看拒绝日志以了解哪些数据被排除在外。在此处,标题被排除在外。

    $ cat /home/dbadmin/cities_rejections.log
    
    City,State,Zip,Population
    
  5. 查看异常以了解有关错误的详细信息。在此例中,标题未通过 Vertica 的整数数据类型验证。

    $ cat /home/dbadmin/cities_exceptions.log
    
    COPY: Input record 1 has been rejected (Invalid integer format 'Zip' for column 3 (zip)).
    Please see /home/dbadmin/cities_rejections.log, record 1 for the rejected record. This record was record 1 from cities.csv
    
  6. 要解决此问题,请将 SKIP 1 添加到原始 COPY 语句。这将排除第一行。

    => COPY cities FROM LOCAL '/home/dbadmin/cities.csv' DELIMITER, 'NULL'
    EXCEPTIONS '/home/dbadmin/cities_exceptions.log'
    REJECTED DATA '/home/dbadmin/cities_rejections.log' SKIP 1;
    

使用 Flex 表加载非结构化数据

为了从其他来源加载数据,Vertica 使用 Flex 表。Flex 表允许您加载非结构化或“半结构化”数据,而无需创建架构或列定义,从而简化了数据加载。

支持的格式包括:

  • Avro 数据

  • CEF

  • CSV

  • 分隔

  • JSON

  1. 创建名为 cities_flex 的表。请注意它是如何排除列名或数据类型的。

    => CREATE FLEXIBLE TABLE cities_flex();
    
  2. 将 CSV 文件加载到表中。

    => COPY cities_flex FROM '/source/cities.csv' PARSER FDELIMITEDPARSER (delimiter=',');
    
  3. 查询 cities_flex 表,从原始 CSV 文件指定列名。

    => SELECT city, state FROM cities_flex;
    

4 - 监控数据库

此页面包含一组对监控数据库有用的通用 SQL 语句。

检查磁盘空间

检查表使用的磁盘空间。

=> SELECT projection_schema, anchor_table_name, to_char(sum(used_bytes)/1024/1024/1024,'999,999.99')
as disk_space_used_gb FROM
projection_storage
GROUP by projection_schema, anchor_table_name ORDER by
disk_space_used_gb desc limit 50;

检查已使用的总磁盘空间。

=> SELECT to_char(sum(used_bytes)/1024/1024/1024,'999,999.99') AS gb FROM projection_storage;

检查可用磁盘空间量。

=> SELECT to_char(sum(disk_space_free_mb)/1024,'999,999,999') AS
disk_space_free_gb, to_char(sum(disk_space_used_mb)/1024,'999,999,999') AS
disk_space_used_gb FROM disk_storage;

调整数据类型

将 Zip 和 Population 列从 VARCHAR 更改为 INT。

=> UPDATE cities_flex_keys set data_type_guess='int' WHERE key_name='Zip';
=> UPDATE cities_flex_keys set data_type_guess='int' WHERE key_name='Population';
=> COMMIT;

用新的数据类型刷新 cities_flex_view

=> SELECT build_flextable_view('cities_flex');

实体化 Flex 表

将 Flex 表和所有列实体化为持久 Vertica 表。

=> CREATE TABLE cities AS SELECT * from cities_flex_view;

查看用户和角色信息

查看用户信息。

=> SELECT user_name, is_super_user, resource_pool, memory_cap_kb, temp_space_cap_kb, run_time_cap FROM users;

标识用户。

=> SELECT * FROM user_sessions;

按用户查看查询。

=> SELECT * FROM query_profiles WHERE user_name ILIKE '%dbadmin%';

查看角色。

=> SELECT * FROM roles;

查看数据库信息

查看资源池分配。

=> SELECT user_name, resource_pool FROM users;

查看表信息。

=> SELECT table_name, is_flextable, is_temp_table, is_system_table, count(*) FROM tables GROUP by 1,2,3,4;

查看投影信息。

=> SELECT is_segmented, is_aggregate_projection, has_statistics, is_super_projection, count(*) FROM projections GROUP by 1,2,3,4,5;

查看更新信息。

=> SELECT substr(query, 0, instr(query, '')+1), count(*) from (SELECT transaction_id, statement_id, upper(query::varchar(30000)) as query FROM query_profiles
WHERE regexp_like(query,'^\s*update\s','i')) sq GROUP BY 1 ORDER BY 1;

查看活动事件。

=>SELECT * FROM active_events WHERE event_problem_description NOT ILIKE '%state to UP%';

查看备份。

=> SELECT * FROM database_backups;

查看磁盘存储。

=> SELECT node_name, storage_path, storage_usage, storage_status, disk_space_free_percent FROM disk_storage;

查看长时间运行的查询

=> SELECT query_duration_us/1000000/60 AS query_duration_mins, table_name, user_name, processed_row_count AS rows_processed, substr(query,0,70) FROM query_profiles
ORDER BY query_duration_us DESCLIMIT 250;

查看读取优化存储 (ROS) 容器的大小和计数。

=> SELECT node_name, projection_name, sum(ros_count), sum(ros_used_bytes) FROM projection_storage GROUP BY 1,2 HAVING sum(ros_count) >= 50
ORDER BY 3 DESC LIMIT 250;

查看许可证信息

查看许可证使用情况。

=> SELECT GET_COMPLIANCE_STATUS();

查看数据库如何符合您的许可证。

=> SELECT AUDIT('');

审核数据库以检查它是否符合许可证的原始存储限额。

=> SELECT AUDIT_LICENSE_SIZE();

比较数据库和您的许可证的存储大小。

=> SELECT /*+(license_utilization)*/
audit_start_timestamp,
database_size_bytes / (1024^3) AS database_size_gb,
license_size_bytes / (1024^3) AS license_size_gb, usage_percent
FROM v_catalog.license_audits ORDER BYaudit_start_timestamp DESC LIMIT 30;

5 - 连接客户端

Vertica 支持多个第三方客户端。可以在此处找到 Vertica 客户端驱动程序列表。

连接到 DbVisualizer

  1. 下载 DbVisualizer 客户端应用程序

  2. 创建数据库。“数据库 (Database)”菜单 ->“创建数据库连接 (Create Database Connection)”。

  3. 指定连接的名称。

  4. 在“驱动程序 (JDBC)”字段中,指定 Vertica。

  5. 在“数据库服务器 (Database Server)”字段中,指定 IP 地址。

  6. 在“数据库端口 (Database Port)”字段中,指定端口号。

  7. 在“数据库名称 (Database Name)”字段中,指定数据库名称。

  8. 在“数据库用户 ID (Database Userid)”字段中,指定用户名。

  9. 在“数据库密码 (Database Password)”字段中,指定密码。

  10. 使用 "ping" 函数测试连接。

连接到 Tableau

  1. 下载 Tableau

  2. 打开 Tableau 桌面。

  3. 选择服务器连接。

  4. 选择 Vertica 作为服务器类型。

  5. 设置服务器 IP。

  6. 将端口设置为 "vdb"。

  7. 登录数据库。