BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
jharri3470
Fluorite | Level 6

I am trying to bulk load data from SAS (9.4M4) to Greenplum (6.4) using pipes.  The documentation seems to indicate that it should be possible.  However, I keep getting an error saying "Named pipes not currently available."  SAS is running on Windows Server 2016, while Greenplum is running on Linux.  I am able to load the data to Greenplum using gpfdist and the flat file method, but I am trying to improve the speed.  The documentation indicates that I could get about 30% more speed using pipes.

My SAS code looks like this:

libname mydatalib "c:\sasfiles\";
libname mydblib greenplm DSN='<name of odbc dsn' schema=<name of schema> user=<gp user name> password='<gp user password>';

proc sql;
connect using mydblib;
create table mydblib.my_test_table
(BULKLOAD=YES
BL_USE_PIPE=YES
BL_HOST='<ip address of greenplum server>'
BL_PORT='<port of greenplum server>'
)
as
select * from mydatalib.sasfile;
quit;

 

1 ACCEPTED SOLUTION

Accepted Solutions
ChrisNZ
Tourmaline | Level 20

You are right. And it's in the documentation too.

   Restrictions: Applies to UNIX environments only [Greenplum, HAWQ]

View solution in original post

9 REPLIES 9
ChrisNZ
Tourmaline | Level 20

I am a bit confused as to why you use the greenplm engine, but use ODBC connection parameters.

Do have SAS/ACCESS to greenplum? You can run proc setinit to verify that.

I don't think ODBC supports the BL_USE_PIPE option.

 

jharri3470
Fluorite | Level 6
The documentation here:
https://documentation.sas.com/?docsetId=acreldb&docsetTarget=p1pes2rr12b4g3n14nnqluay2te7.htm&docset...
Indicates ODBC is an alternative?
I will try the other way and hopefully that supports pipes.
ChrisNZ
Tourmaline | Level 20

The doc states

DSN=<'>Greenplum-data-source<'>

not what you wrote:

DSN='<name of odbc dsn'

jharri3470
Fluorite | Level 6
Ok...I tested with this lib statement:
libname mydblib greenplm server='<ip address>' db=<dbname> schema=<schema name> port=<port number> user=<user name> password=<password> conopts='EncryptionMethod=1;ValidateServerCertificate=0';
I could load a flat file using gpfdist. However, when I switch on BL_USE_PIPE=YES, I get the same error as before:
Error: Named pipes are not currently supported.
Is there a way to confirm which scenario for Greenplum bulk load from SAS supports named pipes?
ChrisNZ
Tourmaline | Level 20

Sorry, no other idea. You might want to ask tech support.

 

jharri3470
Fluorite | Level 6

@ChrisNZ  thanks for the thoughts offered.  By the way, I did some further digging and it seems that for Greenplum, SAS uses the same DataDirect ODBC driver that I was using in the first instance.

Note that I did find the following text in a 2012 SAS Global Forum document.  Any way to find out if that is still the case (since my load is from a Windows environment to Greenplum which is on a Linux environment).

GREENPLUM
Bulkload Support Using Pipes on UNIX
Bulkloading capabilities have been extended on UNIX platforms to loadtables load pipes. To leverage this new feature, you must add the BL_USE_PIPE=YES option when starting the bulkload facility:
data user.dbtab (bulkload=yes
bl_format='CSV'
bl_quote='"'
bl_host='mypc.na.acme.com'
bl_port='8080'
bl_protocol='gpfdist'
BL_USE_PIPE=YES);
set work.worktab;
run;
We have seen a 30 percent average performance gain in load speed when using pipes rather than traditional flat files. Greenplum does not currently support pipes on Windows platforms.

ChrisNZ
Tourmaline | Level 20

You are right. And it's in the documentation too.

   Restrictions: Applies to UNIX environments only [Greenplum, HAWQ]

jharri3470
Fluorite | Level 6
Can't believe I missed that little nugget! Thanks for making me look harder. So basically SAS has to be running on a Unix environment in order for named pipes to be usable for bulk-loading Greenplum.
ChrisNZ
Tourmaline | Level 20

I missed it too. 🙂

Considering the number of Greenplum customers, and even lower numbers accessing it from Windows, I would not expect an update.

Unless maybe a very large new sale is at stake. (Making many assumptions here).

 

 

SAS Innovate 2025: Call for Content

Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!

Submit your idea!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 9 replies
  • 1267 views
  • 2 likes
  • 2 in conversation