Vertica 业务用户指定资源池加载数据
之前在“Vertica 安装,建库,新建测试用户并授予权限,建表,入库”这篇文章也简单介绍过入库部分的内容。
但之前测试用例若用于生产环境有明显的局限性:
1.是用dbadmin管理员用户入库的。
2.没有建立和指定入库专用资源池。
现在我们需要规范下入库,用普通业务用户test进行入库测试,并指定入库资源池load_pool。
- 1.创建业务用户test和测试表t_jingyu
- 2.创建入库专用load_pool资源池并赋权给业务用户test
- 3.准备入库脚本loadData.sh和入库文件sourceData.dat
- 4.赋予业务用户test入库文件sourceData.dat所在目录/tmp的权限
- 5.调用入库脚本入库数据
1.创建业务用户test和测试表t_jingyu
创建业务用户test
```
CREATE USER test IDENTIFIED BY 'testpwd';
CREATE SCHEMA test AUTHORIZATION test;
```
创建测试表t_jingyu
```
vsql -Utest -wtestpwd
create table t_jingyu(
col1 int,
col2 varchar,
col3 timestamp not null)
PARTITION BY (date_part('doy', t_jingyu.col3));
<h1 id="2">2.创建入库专用load_pool资源池并赋权给业务用户test</h1>
## 2.1 创建入库专用load_pool资源池 ##
使用dbadmin用户登录数据库创建load_pool资源池:
CREATE RESOURCE POOL load_pool PRIORITY 2 RUNTIMEPRIORITY MEDIUM PLANNEDCONCURRENCY 12 MAXCONCURRENCY 5 QUEUETIMEOUT NONE;
因为入库任务往往是很耗费资源,为避免争抢过度general资源池的资源,所以就单独设定一个资源池load_pool用来入库,这样只需要限制这个资源池的总资源就可以了。
## 2.2 赋给业务用户test使用资源池的权限 ##
默认业务用户test是没有使用新建资源池的权限,需要赋予其使用权。
GRANT USAGE ON RESOURCE POOL load_pool TO test;
<h1 id="3">3.准备入库脚本loadData.sh和入库文件sourceData.dat</h1>
## 3.1 准备入库脚本loadData.sh ##
/tmp/loadData.sh
!/bin/bash
loading data
vsql -U test -w testpwd <<-EOF 2>&1
\timing
set role all;
set session resource_pool=load_pool;
copy test.t_jingyu(
col1,
col2,
col3
)
from '$1' on v_testdb_node0001
delimiter E'|' NULL '' NO ESCAPE DIRECT;
EOF
## 3.2 准备入库文件sourceData.dat ##
/tmp/sourceData.dat
1|jingyu|2014-06-19
2|xiaobei|2014-06-20
3|alfred|2014-05-20
4|martin|2014-06-20
5|靖宇|2014-06-19
<h1 id="4">4.赋予业务用户test入库文件sourceData.dat所在目录/tmp的权限</h1>
注:这里测试举例入库文件是存放在/tmp目录,实际的存放目录,同样需要有良好的读写性能。
CREATE LOCATION '/tmp' NODE 'v_testdb_node0001' USAGE 'USER';
GRANT READ ON LOCATION '/tmp' TO test;
<h1 id="5">5.调用入库脚本入库数据</h1>
sh /tmp/loadData.sh /tmp/sourceData.dat
脚本运行结果如下:
[dbadmin@vertica1 ~]$ sh /tmp/loadData.sh /tmp/sourceData.dat
Timing is on.
SET
Time: First fetch (0 rows): 23.649 ms. All rows formatted: 23.703 ms
SET
Time: First fetch (0 rows): 33.587 ms. All rows formatted: 33.612 ms
Rows Loaded
5
(1 row)
Time: First fetch (1 row): 116.278 ms. All rows formatted: 116.461 ms
至此,Vertica 利用普通业务用户test,指定专有入库资源池load_pool,测试入库数据成功。
Vertica 业务用户指定资源池加载数据的更多相关文章
- js中对arry数组的各种操作小结 瀑布流AJAX无刷新加载数据列表--当页面滚动到Id时再继续加载数据 web前端url传递值 js加密解密 HTML中让表单input等文本框为只读不可编辑的方法 js监听用户的键盘敲击事件,兼容各大主流浏览器 HTML特殊字符
js中对arry数组的各种操作小结 最近工作比较轻松,于是就花时间从头到尾的对js进行了详细的学习和复习,在看书的过程中,发现自己平时在做项目的过程中有很多地方想得不过全面,写的不够合理,所以说啊 ...
- Tomcat启动时加载数据到缓存---web.xml中listener加载顺序(例如顺序:1、初始化spring容器,2、初始化线程池,3、加载业务代码,将数据库中数据加载到内存中)
最近公司要做功能迁移,原来的后台使用的Netty,现在要迁移到在uap上,也就是说所有后台的代码不能通过netty写的加载顺序加载了. 问题就来了,怎样让迁移到tomcat的代码按照原来的加载顺序进行 ...
- datagrid 根据指定参数重新加载数据
$('#statisticalRecordList').datagrid('reload',{ start_date:$('#dd1').datebox('getValue'), end_date: ...
- AppCan学习笔记----关闭页面listview动态加载数据
AppCan页面关闭 AppCan 的页面是由两个HTML组成,如果要完全关闭的话需要在主HTML eg.index.html中关闭,关闭方法:appcan.window.close(-1); 管道 ...
- Flexigrid从对象中加载数据
(有问题,在找…………) Flexigrid是用来动态加载数据的一种比较好(老)的Jquery表插件,然后有些时候,我们需要其从本地或者jQuery对象中加载数据,比如有这么个需求,页面显示中有两个表 ...
- java攻城狮之路(Android篇)--widget_webview_metadata_popupwindow_tabhost_分页加载数据_菜单
一.widget:桌面小控件1 写一个类extends AppWidgetProvider 2 在清单文件件中注册: <receiver android:name=".ExampleA ...
- ListView用法及加载数据时的闪烁问题和加载数据过慢问题
ListView介绍及添加数据时的闪烁问题 1. ListView类 1.1 ListView常用的基本属性: (1)FullRowSelect:设置是否行选择模式.(默认为false) 提示 ...
- infinite-scroll插件无限滚动加载数据的使用
网上对于infinite-scroll插件使用的例子不多.但由于它的出现,鼓吹了瀑布流形式的页面展示方式,所以不得不了解了解这种新的分页方式. 官网上有对infinite-scroll的详细描述,但一 ...
- selenuim和phantonJs处理网页动态加载数据的爬取
一.图片懒加载 什么是图片懒加载? 案例分析:抓取站长素材http://sc.chinaz.com/中的图片数据 #!/usr/bin/env python # -*- coding:utf-8 -* ...
随机推荐
- Database Replay和Consolidated Database replay
简介 在数据库的迁移和升级场景中,我们经常会遇到一个问题:在做压力测试时,如何模拟真实的业务压力,解决这个问题的方法有很多,比如:应用方开发模拟程序或者使用压力测试工具模拟,如load runner, ...
- Fabio 安装和简单使用
Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...
- java中文乱码解决之道(一)-----认识字符集
沉寂了许久(大概有三个多月了吧),LZ"按捺不住"开始写博了! java编码中的中文问题是一个老生常谈的问题了,每次遇到中文乱码LZ要么是按照以前的经验修改,要么则是baidu.c ...
- 理解 .NET Platform Standard
相关博文:ASP.NET 5 Target framework dnx451 and dnxcore50 .NET Platform Standard:https://github.com/dotne ...
- [原创]java使用JDBC向MySQL数据库批次插入10W条数据测试效率
使用JDBC连接MySQL数据库进行数据插入的时候,特别是大批量数据连续插入(100000),如何提高效率呢?在JDBC编程接口中Statement 有两个方法特别值得注意:通过使用addBatch( ...
- gRPC源码分析1-SSL/TLS
引子 前几天看到微信后台团队分享了TLS相关文章,正好gRPC里TLS数据加密是很重要的一块,于是整理出了这篇文章. 在gRPC里,如果仅仅是用来做后端微服务,可以考虑不加密.本文太长,先给个大纲. ...
- 如何理解javaSript中函数的参数是按值传递
本文是我基于红宝书<Javascript高级程序设计>中的第四章,4.1.3传递参数小节P70,进一步理解javaSript中函数的参数,当传递的参数是对象时的传递方式. (结合资料的个人 ...
- 5.0 JS中引用类型介绍
其实,在前面的"js的六大数据类型"文章中稍微说了一下引用类型.前面我们说到js中有六大数据类型(五种基本数据类型 + 一种引用类型).下面的章节中,我们将详细讲解引用类型. 1. ...
- 关于SMARTFORMS文本编辑器出错
最近在做ISH的一个打印功能,SMARTFORM的需求本身很简单,但做起来则一波三折. 使用环境是这样的:Windows 7 64bit + SAP GUI 740 Patch 5 + MS Offi ...
- linux下 lvm 磁盘扩容
打算给系统装一个oracle,发现磁盘空间不足.在安装系统的时候我选择的是自动分区,系统就会自动以LVM的方式分区.为了保证系统后期的可用性,建议所有新系统安装都采用LVM,之后生产上的设备我也打算这 ...