SAS/ACCESS Interface to Hadoop passes the following SAS functions to Hadoop for processing. Where the Hadoop function name differs from the SAS function name, the Hadoop name appears in parentheses. For more information, see Passing Functions to the DBMS Using PROC SQL.
| ** (POWER) | LOG (LN) |
| ABS | LOG2 |
| ARCOS (ACOS) | LOG10 |
| ARSIN (ASIN) | LOWCASE (LOWER) |
| ATAN | MAX |
| AVG | MIN |
| CEIL | MOD |
| COMPRESS (REGEXP_REPLACE)* | MONTH |
| COS | SCAN (REGEX_SPLIT)** |
| CAT (CONCAT) | SIGN |
| COUNT | SIN |
| DAY | SQRT |
| DTEXTDAY (DAY) | STD (STDDEV_SAMP) |
| DTEXTMONTH (MONTH) | STRIP (TRIM) |
| DTEXTWEEKDAY | SUBSTR |
| DTEXTYEAR (YEAR) | SUM |
| EXP | TAN |
| FLOOR | TRIMN (RTRIM) |
| INDEX (LOCATE) | UPCASE (UPPER) |
| LEFT (LTRIM) | VAR (VAR_SAMP) |
| LENGTH (LENGTH) | YEAR |
| LENGTHN (LENGTH) |
* Only when you specify two arguments—for example, COMPRESS(string,' ').
** Only when you specify two arguments where the second argument is nonzero—for example, SCAN (expression, 1).
SQL_FUNCTIONS=ALL allows for SAS functions that have slightly different behavior from corresponding Hadoop functions that are passed down to Hadoop. Only when SQL_FUNCTIONS=ALL can the SAS/ACCESS engine also pass these SAS SQL functions to Hadoop. Due to incompatibility in date and time functions between Hadoop and SAS, Hadoop might not process them correctly. Check your results to determine whether these functions are working as expected.
| COALESCE | QUARTER |
| DATE (TO_DATE(UNIX_TIMESTAMP)) | REPEAT |
| DATEPART (TO_DATE(UNIX_TIMESTAMP)) | ROUND |
| DATETIME (FROM_UNIXTIME(UNIX_TIMESTAMP)) | SECOND |
| HOUR | SOUNDEX |
| MINUTE | TODAY (TO_DATE(UNIX_TIMESTAMP) |
| QTR | TRANSTRN (REGEXP_REPLACE) |