Загрузка данных из SAS в Hive - PullRequest
0 голосов
/ 05 января 2019

У меня есть требование, чтобы таблицы из 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;
...