SAS Access to Hadoop. Соединение с Hadoop через SAS Access. Part 2.

Всем привет.

Итак, вчера мы рассмотрели способ соединения SAS напрямую с HDFS — файловой системой Hadoop (со статье можно ознакомиться, перейдя по ссылке).

Сегодня же рассмотрим другой подход, а именно тот, который SAS пропагандирует как наиболее правильный, т.к. Вам не нужно будет изучать другой язык, а писать можно по старинке через SAS Data Step или через Proc SQL.

Для начала посмотрим на тот как происходит соединение:

Елси вы внимательно посмотрите на эту картинку и ту, что была во вчерашнем посте, то заметите, что JARs файлы все также нужны. Однако уже не нужно писать конфигурационный xml файл. Также стоит обратить внимание, что соединение идет через Hive Server.
И так давайте рассмотрим пример соединения:
Для большей наглядности подключены опции sastrace, sastraceloc, notsuffix. 
Из лога видно, как проходит соединение. По умолчанию соединение идет с базой данных DEFAULT, однако можно конечно же указать любую имеющуюся другую базу. 
Также всегда идет в конце выполнение кода SHOW TABLES — для того чтобы вы могли видеть список таблиц в вашей библиотеке. 
Теперь давайте попробуем прогрузить таблицу размером чуть больше двух гигабайта и с более чем 13 миллионами записей:
Можно увидеть в логе, как SAS Access преобразует кода Data step в код Hive SQL.
Прогрузка 13 697 371 строк заняла чуть больше минуты.
Теперь давайте удалим данную таблицу, написав код через Proc SQL:
Также в логах можно видеть преобразование кода в Hive SQL.
Даный пример более наглядно с комментариями можно посмотреть в ниже приведенном виде-уроке:

Если есть какие-то вопросы задавайте. 

SAS connect to Hadoop. Способ подсоединения через Filename. Part1

Всем добрый день.

Сегодня рассмотрим пример, как можно создавать файлы в hadoop, а также делать записи в эти файлы и после забирать данные.


Визуально схема взаимодействия SAS и Hadoop выглядит следующим образом:

Итак самое главное, что Вам нужно сделать, это написать следующий конфигурационный xml файлик:

Где сервер hadoop_main_node, нужно заменить на Ваш сервер, а точнее на гловной Node hadoop.

После этого пишем обычный filename с указанием access method — HADOOP, обязательно в опциях нужно указать путь к конфигурационному xml файлу.

В приведенном примере мы созадли файл test.txt и записали туда одну записть «TEST test Test1»

Теперь убедимся в том, что данный файл появился в файловой структуре Hadoop:

Первая команда была выполнена до запуска sas кода, вторая уже после. Сравнив, мы видим, что появился наш файлик test.txt.

Теперь давайте попробуем забрать эти данные. Делается это также просто:

Мы видим, что в work появился файлик Test, в котором есть как раз одна наша запись.

В дальнейших уроках мы рассмотрим другой метод соединения с Hadoop, а именно через SAS/Access.

Вкратце обо всех трех способах взаимодействия SAS и Hadoop писал в прошлой статье.

До скорых встеч.
С уважением,
Тимаков Николай.