2016-06-30 6 views
1

Я пытался понять, как библиотеки SAS/папки хранятся в физическом местоположении. Я пытаюсь понять концепцию на уровне администрации.Как хранятся библиотеки SAS

Чтобы объяснить мое замешательство больше, я хотел бы идти шаг за шагом -

(1) Код SAS выполняется на клиенте. Любая переменная/библиотека/набор данных имеет определение в уровне метаданных, что означает, что уровень метаданных содержит логический адрес, который указывает на физический адрес и который мы можем найти на уровне вычислений, а Compute Tier - на системе Linux. Как найти сопоставление между логическим и физическим адресом. или Как я могу отслеживать переменную/библиотеку/набор данных в SAS Management Console или Linux.

(2) Клиент SAS -> Сервер SAS -> База данных. поэтому, когда мы обращаемся к любой таблице из базы данных, она сначала преобразуется в таблицу SAS. Если я прав об этой логике, тогда должно быть какое-то физическое место, где хранятся эти таблицы SAS. Как найти это физическое местоположение на уровне вычислений.

(3) Если я, как пользователь, создаю набор данных SAS, в каком формате он сохраняется и где? Сохраняется ли он как плоский файл в Linux или как таблица в некоторой базе данных?

(4) Я прошел через этот вопрос и еще одна путаница возникла получил

Proc SQL: How/When does SAS Move the Data

Когда любая таблица данных загружается с сервера базы данных на сервер SAS. Оставляет ли он там всю сессию, как или каждый раз, когда вызывается таблица, база данных должна быть удалена.

Возможно, я ошибаюсь с пониманием, которое у меня есть с SAS, поэтому, пожалуйста, поправьте меня, где это возможно.

Благодаря

+0

Это, вероятно, действительно так вопросы, за исключением того, что у вас есть слишком много сразу. Я бы порекомендовал вам задать некоторые из более подробных вопросов на сайтах community.sas.com, поскольку сотрудники и разработчики SAS находятся там, и здесь не так уж много администраторов. – Reeza

ответ

0

Что касается Q2 & 3) Да и нет в отношении базы данных преобразования. Когда вы читаете базу данных, в зависимости от вашего запроса SAS либо передаст запрос в БД, а затем приведет результаты к SAS. Если результаты представляют собой таблицу, то это зависит от того, где пользователь указал ее для сохранения. Для связи с Q3, предположим, что он идет в библиотеку WORK. Это своего рода пространство с нуля/темп на сервере, но внутри SAS. Он существует для сеанса SAS и когда сеанс закрыт, он очищается. Наборы данных в папке WORK хранятся в собственном формате SAS, SAS7BDAT. Рабочая библиотека по существу является папкой в ​​каталоге, а не в базе данных.

Если запрос по какой-либо причине не может быть передан в БД, либо функция не является допустимой функцией базы данных, либо она объединяется с набором данных SAS из рабочей библиотеки, вся таблица с сервера сначала импортируется в SAS, а затем выполняется запрос. Это может быть довольно эффективным, поэтому пользователям интересно понять, как это работает.

0

Q1: При запуске PROC DataSets на наборе данных, вы найдете его местоположение в поле имени файла. То же самое можно сделать, если вы запустите задачу DATA SET ATTRIBUTES в SAS EG.

Q2: Как упоминалось в Reeza, многие запросы могут обрабатываться DB direct. SAS имеет отличную поддержку SQL, Oracle и ряда других БД, где промежуточные наборы данных не нужны.

Q3: Если вы создаете новый формат в вашей сессии и не указывают, где хранить его, он будет храниться в вашей работе библиотеки в качестве каталога SAS. Вы можете просмотреть содержимое этого каталога, запустив эту программу: PROC CATALOG CATALOG=WORK.FORMATS;contents;RUN; Обычно стандартные и постоянные форматы хранятся в другом месте. Вам нужно получить содержимое опции FMTSEARCH, чтобы проверить, какие места загружены для вашего сеанса. В этих местах просматривается формат, необходимый слева направо. Код для изучения вариант: PROC OPTIONS option=FMTSEARCH; RUN;

Q4: Вопрос действительно о SQL Процедура Pass-Through Facility. Вы можете найти this technical document полезным. Есть много других полезных документов, но чтобы ответить на ваш конкретный вопрос в одном предложении: да, база данных попадает все время. Если вы хотите этого избежать, создайте ночной ETL-процесс и скопируйте базу данных на SAS для обработки в дневное время, но может быть более полезным отправить корректные SQL-запросы в базу данных для обработки (использовать средство сквозного доступа SQL).

С уважением, Vasilij

+0

Спасибо, Василий. Как администратор, есть ли какая-либо привилегия, предоставленная ему для отслеживания того, что все библиотеки находятся в рабочей папке. Каков формат папки для SAS. Похоже, пользователь (1) {Папка A, Папка B, Работа}, Пользователь (2) {Папка A, Папка B, Работа} или Папка A {Пользователь (1), Пользователь (2)} Папка B {Пользователь (1), Пользователь (2)}, Работа {{Пользователь (1), Пользователь (2)}. – user2676132

+0

Hey @ user2676132 папка является фактической физической папкой, управляемой разрешениями вашей ОС. Во многих случаях пользователи могут использовать FTP в этом месте и просматривать структуру папок. Обычно это примерно так:/your_path_to_work_location/SAS_work {random_string} _hostname. Если вы хотите увидеть физическое местоположение вашей текущей рабочей папки, запросите глобальную макроперемену SASWORKLOCATION, запустив этот код: '% PUT SASWORKLOCATION = & SASWORKLOCATION'; –

Смежные вопросы