我需要在带有标题的csv文件中在Netezza中创建表。目标表应该将列作为源文件中的标题。目标表应该具有基于源文件头的灵活结构更改。有可能吗?
答案 0 :(得分:0)
我不知道你对此的期望是什么?您将需要数据类型以及列名称,并且缺少使用NVARCHAR(100)来处理所有内容并且无法交叉,我不知道如何仅从csv文件中解决这个问题...
如果您可以让您的源系统提供另一个带有COLNAME,DATATYPE(Precision)元数据的csv文件,您当然可以将其更改为netezza中的有效“创建表”语句,然后这样的内容可以帮助您完成剩下的工作。方式:
CREATE EXTERNAL TABLE demo_ext SAMEAS emp USING (dataobject
('/tmp/demo.out') DELIMITER '|');
更多信息:
https://www.ibm.com/support/knowledgecenter/en/SSULQD_7.2.1/com.ibm.nz.load.doc/c_load_create_external_tbl_expls.html
答案 1 :(得分:0)
从问题来看,我假设需求是你需要每次根据你的源csv文件创建一个新表/ alter。是吗? @Moutusi Das
正如Lars G Olsen所提到的,该选项将包含一个用于创建表的单独文件,其中包含列名称和列表名称。数据类型。您可以使用unix脚本来获取表创建文件的详细信息。 netezza中的create / altee表。 然后使用external table命令加载表。