Here is an example with an AMEX parquet table:
proc casutil incaslib=your_caslib outcaslib=your_caslib;
load casdata="your_table.parquet"
casout="table_test"
promote
label="table_test";
run;
proc cas;
simple.distinct /
table={name='table_test', caslib='your_caslib', computedOnDemand=false}
inputs=name='column_name'
casOut={name='distinct_results', replace=true};
quit;
This table produces the following error:
ERROR: Fatal error, action aborted: Access violation
NOTE: Executing action 'simple.distinct' (attempt #2).
ERROR: Fatal error, action aborted: Access violation
ERROR: Access violation
ERROR: The action stopped due to errors.
NOTE: PROCEDURE CAS used (Total process time):
real time 4.46 seconds
cpu time 0.08 seconds
Certain Parquet files do not include VARCHAR length information in their metadata. Consequently, the column schema is not properly propagated to the CAS workers, which results in an invalid schema definition during distributed processing.
This issue occurs in only SAS Viya 3.5 MPP environments, where processing is distributed between the CAS controller and CAS workers. SAS Viya 3.5 SMP deployments are not affected.