У меня есть требование, чтобы таблицы из SAS в форме файла "abc.sas7bdat" были предоставлены в определенном месте вместе с libref (см. Код ниже: libname xxx '/ workspace / abc / xyz'). Мне нужно создать таблицу улья из этого набора данных. Я использую приведенный ниже код. Этот код создает таблицу в Hive, но она пустая. После дальнейших исследований я заметил, что в hdfs-site.xml
может отсутствовать следующий параметр
<property>
<name>dfs.client.use.datanode.hostname</name>
<value>true</value>
</property>
Я не нашел это свойство в hdfs-site.xml, и это объясняет, почему таблица пуста.
Мой вопрос: мне нужно принимать данные размером от 1 до 200 ГБ. Как я могу ускорить процесс? У меня есть доступ только к Unix-машине, где файлы сброшены, и я не уверен, что все было установлено.
Текущий код:
options set=SAS_HADOOP_RESTFUL=1;
options set=SAS_HADOOP_JAR_PATH=<jar path>;
options set=SAS_HADOOP_CONFIG_PATH=<config path>;
options nofmterr;
%let svr = %NRSTR('server.abc.com');
%let stng = %NRSTR('stored as parquet');
libname aaa hadoop server=&svr hdfs_tempdir='/tmp/sastmp' user = 'username'
password = pxxx schema='schema name' port 10000
DBCREATE_TABLE_OPTS=`&stng`
subprotocol=hive2;
libname xxx '/workspace/abc/xyz';
data aaa.test;
set xxx.abc.test;
run;