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 -* ...
随机推荐
- 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)
从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://w ...
- Javascript生成二维码(QR)
网络上已经有非常多的二维码编码和解码工具和代码,很多都是服务器端的,也就是说需要一台服务器才能提供二维码的生成.本着对服务器性能的考虑,这种小事情都让服务器去做,感觉对不住服务器,尤其是对于大流量的网 ...
- 深入理解BFC
定义 在解释BFC之前,先说一下文档流.我们常说的文档流其实分为定位流.浮动流和普通流三种.而普通流其实就是指BFC中的FC.FC是formatting context的首字母缩写,直译过来是格式化上 ...
- javascript之Object.defineProperty的奥妙
直切主题 今天遇到一个这样的功能: 写一个函数,该函数传递两个参数,第一个参数为返回对象的总数据量,第二个参数为初始化对象的数据.如: var o = obj (4, {name: 'xu', age ...
- vue.js初探
前言 入手2016最火前端框架之一vue.js.大概从网上找了些资料看了下vue.js,从网上的资料来看只能惊叹其发展速度太快,让我意外的是其作者是华人的前提下作品这么受欢迎. 网上的博客和教程各种组 ...
- [原] KVM 虚拟化原理探究 —— 目录
KVM 虚拟化原理探究 -- 目录 标签(空格分隔): KVM KVM 虚拟化原理探究(1)- overview KVM 虚拟化原理探究(2)- QEMU启动过程 KVM 虚拟化原理探究(3)- CP ...
- css3线条围绕跑马+jquery打字机效果
原文地址:css3线条围绕跑马+jquery打字机效果 有图有真相,今天偶然看到了一种效果,仔细看了下,发现它是用css的clip+css3的动画实现的,简直叼.于是自己拿来了前一阵子写的打字机效果, ...
- cocos2dx调用浏览器打开网址
安卓端cocos2dx/platform/android路径下CCApplication.h: virtual void openURL(const char* pszUrl); CCApplicat ...
- 极光推送和友盟推送,ios端和安卓端的后端调试设置
我是最后端的,这两天搞了一个app项目,前端安卓使用友盟很方便,调试比较顺利,然后ios就遇到各种问题了,证书.发送成功推送不成功,测试时用的TestMode(),ios上架之后就必须用product ...
- Android Fragment 剖析
1.Fragment如何产生?2.什么是Fragment Android运行在各种各样的设备中,有小屏幕的手机,超大屏的平板甚至电视.针对屏幕尺寸的差距,很多情况下,都是先针对手机开发一套App,然后 ...