03-05-2016 01:59 AM
I' trying to pull the data from teradata using Proc SQL procedure. the column lengths are getting double after reading the data into SAS. Example: Name having 20 length in teradata is getting double 40 in sas datasest.
In one of my dataset having 63K length in terradata(620 coulmns) and I'm not able to read this Teradata table into sas because all the var char types are getting duble size and then it is exeding the teradata coulmn 64K length limataion. then i spilt the coulmns 100 for wach table and merging to one SAS dataset. in this cases also dataset size is coming upto 50GB. i have already used compress=yes option. I want to reduce the size atleast
Please kindly advise me how to solve this issue.
Thanks in advance!
03-05-2016 03:05 AM
First, 620 columns! That's crazy data modelling. How are the users intended to use that? What kind of data is it?
I would encourage the TD DBA to reorganize this data as a starting point.
Are you sure that this is not a view?
About the doubling of sizes, I can only guess. Perhaps TD is set to an encoding that require double byes in SAS? Carefully investigate TD data types, encoding etc, and compare with your SAS installation/configuration.
Then one great thing about TD and similar, it (should at least) have lot of processing capabilities. So try to query your data so as much as possible are executed in TD, and return only results that needs to be processed by pure SAS logic.
03-05-2016 09:56 AM
Could it be that the field is stored in Teradata using some characteristics for character set that SAS needs two bytes for each character? Some kind of Unicode setting?