我在HDFS中创建了外部表,并在HAWQ中创建了内部表。我正在从SQL Server获取数据,使用TALEND用于ETL流程过程流就像SQLServer->外部表(PXF HAWQ) ->内部表(HAWQ)
在运行工作时,我要低于错误
ERROR: value too long for type character(50) (seg0 slice1 phds01.aa.com:40000 pid=297176)
Detail: External table podetails_stg0, line 17 of pxf://PHD-HA/test/PoDetails_stg0.csv?profile=HdfsTextSimple, column StockDes
我应该如何解决此错误?
您尝试放入HDF的字符串具有50多个座椅。您有两个选择:
-
用
StringHandling.LEFT(yourcolumn,50)
在第50座cor骨上truce truce colum 更改您的桌子,使您的列更大,例如字符(100)甚至更多。
这主要是与数据相关的错误。数据包含许多特殊字符,例如New Line,Comma。这导致数据从MSSQLServer中将数据复制到HDF中的CSV时进入另一列。通过在获取数据时在源级别上过滤特殊角色的特殊角色来消除此问题的最佳方法。