是否有任何变通方法可以使用microsoft查询从vertica数据库导入~200万个excel记录? 我正在使用microsoft查询工具导入数据。 我成功地能够查询我的数据库中的较小的表,较大的表(200万条记录),而不是那么多。我的擅长崩溃了。
任何人都有任何变通办法或其他想法吗?
感谢。
答案 0 :(得分:2)
Excelguy - 我认为你应该考虑成为一个SQL人......
无论你在Excel中用200万行做什么,我都相信你能在Vertica中做到。我的意思是,你不会用肉眼读取数百万行,但你会将公式应用于它们,总结它们等等。
人眼可以消耗几十排 - 并且仍然可以理解它。如果您从数据中制作图表,可能还需要更多。但那就是它。
我真的建议你在SQL中探索一些方法 - 在数据库中 - 你目前在Excel中想做什么;然后将结果表(几行)导出到Excel以供人工使用。
你会惊讶地发现一切都会有多快,并且为你开启新的可能性感到惊讶....
如果您对此表示怀疑 - 您能否在Excel中草绘您想要做的事情?
干杯 -
马
Hi Again Excelguy -
看过你的答案;除了Oracle表格庞大且Vertica表格很小的情况之外。一个 - 你最好不要在Vertica中进行连接。
您可以咨询: https://chartio.com/resources/tutorials/how-to-write-to-a-csv-file-using-oracle-sql-plus/
有关如何将Oracle查询的输出导出到csv文件。
快捷方式在这里:
启动SqlPlus,然后转到:
set colsep ,
set headsep off
set pagesize 0
set trimspool on
set linesize <number of columns of your Oracle table / Oracle query>
set numwidth <longest length of your numeric literals>
spool myoratable.csv
SELECT * FROM myoratable;
spool off
exit
然后,您可以从SqlPlus中触发DESC myoratable
,并使用该输出在Vertica中创建表myoratable
。 (我现在不打算详细了解数据类型,因为这是一个很长的故事)。
然后,您登录到Vertica,并从SqlPlus建议的内容创建表myoratable
。
继续这个:
COPY myoratable
FROM
LOCAL -- this only if the myoratable.csv file is not on the Vertica cluster
'/full/path/to/your/file/myoratable.csv'
DELIMITER ','
DIRECT -- this writes directly to disk and does not fiddle around with Vertica memory too much
;
从那时起,您可以将myoratable
加入Vertica表格。
快乐的比赛...... 马可