我们的组织正在从PADB迁移到Vertica。我们有一些分析师使用SAS。我将他们的工具和宏转换为能够从PADB到Vertica的工具和宏。但是当涉及到从SAS到Vertica的数据广播时,它的性能和以前不一样。
我看到执行时间从1-2分钟变成2-3个小时。
我正在使用ODBC,因为我无法使用其他方法,例如:
proc sql exec;
connect to odbc (datasrc=EDW authdomain=VERTICA);
execute(COPY CRM_COMMON.new_load_test FROM local
'/data/saswork/SAS_work765E0000405D_cammsaim238/SAS_workB45C0000405D_cammsaim238/test1.csv' PARSER fcsvparser() ) by odbc;
disconnect from odbc;
quit;它不起作用,我得到了一个注意事项:注意:没有发现/修改数据。
我试着使用proc追加和proc数据集以及proc复制,一切都是缓慢的。我试过用大容量,但没有。
你知道我能做些什么或者试着加快数据传输吗?告诉我!-我尝试了各种其他方法,但仍然有错误,当我检查日志时,我的数据中似乎出现了一个空值问题.知道吗?
proc sql exec;
/* Loading converted csv file to ParAccel */ connect to odbc (datasrc=EDW authdomain=VERTICA); execute(COPY CRM_COMMON.new_load_test FROM local '/data/saswork/SAS_work765E0000405D_cammsaim238/SAS_workB45C0000405D_cammsaim238/test1.csv' DELIMITER ',' ) by odbc;
disconnect from odbc;
quit;发布于 2019-04-11 19:36:41
使用以下内容来加载数据:
我使用“在错误时中止”选项获得有关错误的更多详细信息,并使用“拒绝”选项查看失败的记录。
确切地说,问题是空值与时间戳完全相同,我没有找到一个适合所有类型的解决方案来加载任何类型的数据,考虑到更少的空值和格式,但是我设法加载数据比使用ODBC更快。
我尝试了后跟nullcols的选项,但是它无助于空值
proc sql exec;
/* Loading converted csv file to ParAccel */
connect to odbc (datasrc=EDW authdomain=VERTICA);
execute(COPY CRM_COMMON.test_low FROM local '/data/saswork/SAS_work765E0000405D_cammsaim238/SAS_workB45C0000405D_cammsaim238/test_low.csv' DELIMITER ',' abort on error
rejected data '/data/saswork/SAS_work765E0000405D_cammsaim238/SAS_workB45C0000405D_cammsaim238/reject_low.csv' ) by odbc;
disconnect from odbc;
quit;https://stackoverflow.com/questions/55633525
复制相似问题