get Oracle SmartView plugin

Using the Hive command

Hive first started with hiveserver1. However, this version of Hive server was not very stable. It sometimes suspended or blocked the client’s connection quietly. Since v0.11.0, Hive has included a new thrift server called hivesever2 to replace hiveserver1hiveserver2 has an enhanced server designed for multiple client concurrency and improved authentication. It also recommends using beeline as the major Hive command-line interface instead of the hive command. The primary difference between the two versions of servers is how the clients connect to them. hive is an Apache-Thrift-based client, and beeline is a JDBC client. The hive command directly connects to the Hive drivers, so we need to install the Hive library on the client. However, beeline connects to hiveserver2 through JDBC connections without installing Hive libraries on the client. That means we can run beeline remotely from outside the cluster. For more usage of hiveserver2 and its API access, refer to https://cwiki.apache.org/confluence/display/Hive/HiveServer2+Clients.

The following two tables list the commonly-used commands in different command modes considering different user preferences:

Purposehiveserver2 - beelinehiveserver1 - hive
Connect serverbeeline –u <jdbc_url>hive -h <hostname> -p <port>
Helpbeeline -hhive -H
Run querybeeline -e "hql query"
beeline -f hql_query_file.hql
beeline -i hql_init_file.hql
hive -e "hql query"
hive -f hql_query_file.hql
hive -i hql_init_file.hql
Setvariablebeeline --hivevar var_name=var_valuehive --hivevar var_name=var_value
Purposehiveserver2 - beelinehiveserver1 - hive
Enter modebeelinehive
Connect server!connect <jdbc_url>N/A
List tables!table
show tables; --also support
show tables;
List columns!column table_name
desc table_name;
desc table_name;
Run queryselect * from table_name;select * from table_name;
Save result!record result_file.dat
!record
N/A
Run shell cmd!sh ls!ls;
Run dfs cmddfs -ls;dfs -ls;
Run hql file!run hql_query_file.hqlsource hql_query_file.hql;
Quit mode!quitquit;

In addition, Hive configuration settings and properties can be accessed and overwritten by theSET keyword in the interactive mode. For more details, refer to the Apache Hive wiki at https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties.
For beeline, ; is not needed after the command that starts with !. Both commands do not support running a pasted query with <tab> inside, because <tab> is used for auto-complete by default in the environment. Alternatively, running the query from files has no such issues. In interactive mode, we can use the keyboard’s up and down arrow keys to retrieve the previous commands. The !history command can be used in beeline to show the command’s history.  In addition, the dfs command may be disabled in beeline for permissions control in some Hadoop distributions. Both commands support variable substitution, which refers to https://cwiki.apache.org/confluence/display/Hive/LanguageManual+VariableSubstitution.

Oracle Essbase Bootcamp

01 Oracle Essbase BootCamp. Описание предметной области.

02 Oracle Essbase. BootCamp. Описание Артефактов.

03 Oracle Essbase. BootCamp Load Rules Dimensions

04 Oracle Essbase. BootCamp Load Rules Data

05 Oracle Essbase BootCamp. Dynamic Calc. Two Pass Calculations.

06 Oracle Essbase BootCamp. Datastore in blocks. Multidimensions blocks explosion

07 Oracle Essbase BootCamp. MDX Reports .Functional Testing

08 Oracle Essbase BootCamp. Sample Calculations. How to use blocks to store calculated data

09 Oracle Essbase BootCamp. Calculation modes(Pull,Push,Cell,Block,by Data,by Model,Serial,Parallel)

10 Oracle Essbase. Allocation bootcamp

11 Oracle Essbase BootCamp. Sample Allocation

12 Oracle Essbase BootCamp. All about CalcScript

12a Oracle Essbase Bootcamp. Мониторинг работы

Hybrid preparation “Sandwich”

“Sandwich”- это когда элементы «итого » и нулевого уровня остаются хранимыми, промежуточные под-итоги переключаются в режим «Dynamic Calculation»

Данный подход к оптимизации приложений  позволяет решить проблему роста объема базы данных без переделки функциональной модели.

Это достигается за счет того что все агрегаты, которые не используются в расчетах переводятся в динамический режим.  Например, в модели сохраняются хранимые агрегаты «итого», которые используются в расчетах, в формах.

Данный подход позволяет получить максимальный результат за минимальное время, и он обычно выбирается для “быстрого” внедрения. Так как

  • Не нужно кардинально изменять правила расчёта, так как все требуемые хранимые агрегаты остаются без изменений. (например, «Итого Клиенты»)

 

  • Динамически рассчитываемые показатели в своей общей массе также останутся не тронутыми, (по той же причине)

 

  • Не требуется переработка структуры хранения блоков

Hybrid preparation “Full Hybrid”

Для максимального сокращения размера базы данных рекомендуется подход  «Full Hybrid» , который предполагает перевод всех   итоговых агрегатов  в режим динамического расчета. Для его реализации требуется произвести следующие изменения в моделях.

  • Блок данных должен состоять всегда из двух измерений
    1. Account (или предмет счета “Indicators”)
    2. Periods (если (1) ничтожно мало , то можно периоды вынести из блока, а вместо него использовать предмет счета, например Клиентов или Продукты)
  • Размер блока не должен превышать 100Kb , откуда
    1. Если в модели бюджетируются 14 периодов , то максимальное количество хранимых элементов  в измерении Account не должно превышать значение 890
    2. Если в модели бюджетируются 12 периодов , то максимальное количество хранимых элементов  в измерении Account не должно превышать значение 1040
    • Если по измерению предполагаются вестись пересчеты в разрезе узловых значений справочника (например, консолидация по Entity) , то нужно под каждым таким агрегируемым  элементом создать технический (имеющим префикс или постфикс), на котором нужно рассчитывать корректировки  к сумме значений.
      • Подход к кодированию справочников должен позволять осуществлять быструю навигацию в программном коде на любой уровень иерархии. Например, нижестоящие элементы прирастают на два разряда.

     

      • Глубина динамических иерархий не должна превышать 4х уровней

     

      • Бизнес-справочник должен быть максимально «сбалансирован», т.е. по всем веткам измерения должна быть одинаковая глубина вложенности элементов

     

      • Избавить модель от механизма разметки форм использующий динамические элементы с комплексными формулами.

     

      • В скриптах расчета использовать подход создания блоков «от источника»

     

    • Пересмотреть подход в формулах расчета удельных показателей

Данный подход требует не просто значительной переработки модели, а  ее перевнедрения.

Все что нужно знать про Hybrid

немного тезисов о гибриде.

1.1             Описание технологии

При включенной опции  ASODYNAMICAGGINBSO (Hybrid) в конфигурационном файле   Essbase для соответствующего  приложения  Block Storage Option (BSO) автоматически  «поднимает» аналогичный по структуре куб Aggregate Storage Option (ASO). Передача данных  между двумя приложениями инициализируется без участия разработчика. Этот процесс напоминает по своей сути прозрачные партиции (transparent partition).

Соответственно здесь получается решение которое с одной стороны обеспечивает ввод и хранение пользовательских данных с возможностью их комплексного пересчета в BSO , а с другой стороны,  скорость расчетов динамических показателей ASO.

1.2             Преимущества  использования

Важно отметить, что BSO имеет наилучшее время в скорости получения данных из хранимых элементов  по сравнению с отчетами над динамическими элементами с использованием ASO (Hybrid) .

Hybrid выбирают для того что бы сократить время работы  бизнес правил  и размер базы данных не испортив время получения отчетов.  При этом, как следствие, уменьшается время на технологические операции (обновление справочников, перестройка базы данных)

1.3           Ограничения

Данная технология не поддерживает на 100 % весь математический аппарат BSO, и  в этом случае  можно наблюдать в логах приложения события по отключению режима ASO агрегации:

[Sat Oct 24 18:00:03 2015]Local/Application/Database/user@Native Directory/140161857612096/Info(1204001)

Hybrid Aggregation Mode disabled for [member] due to [expression in formula contains non-supported function].

 

ASO  не будет работать в случае если будет использоваться

  • Динамически вычисляеме элементы, в формуле которых используются:

o   атрибуты;

o   оператор -> ;

o   не поддерживаемые функции

  • используется формула на срезе, на которую настроена transparent партиция;
  • есть в отчете элементы с параметрами  two-pass calculation;

Дополнительная информация доступна в документации:

http://docs.oracle.com/cd/E57185_01/epm.1112/essbase_tech_ref/asodynamicagginbso.html

http://docs.oracle.com/cd/E57185_01/epm.1112/essbase_db/frameset.htm?ainaggr.html#aso_compare_bso_10

1.4             Варианты внедрения

Технология гибридной агрегации включается при выборе любого динамического разряженного элемента и можно выделить следующие   подходы по ее инициализации и  использованию:

  • все узловые элементы «разряженных» измерений настроены в режим «Dynamic Calculation» ( aka «Full Hybrid»)
  • только некоторые измерения выбираются для настройки (как правило это измерения с наибольшим количеством элементов (справочник продуктов, клиентов ) ( aka «Partial Hybrid»)
  • элементы «итого » и нулевого уровня остаются хранимыми, промежуточные под-итоги переключаются в режим «Dynamic Calculation» (aka «Sandwich»)
  • элементы нулевого и первого уровня хранимые, все остальные динамические (aka «basement»)
  • различные варианты сочетания предыдущих способов

Такое разнообразие в подходах связано с тем  что у ASO  есть ограничения на одновременный объем  рассчитываемых данных, который обычно решается с помощью механизма хранимых представлений , но этот способ оптимизации не поддерживается  в   режиме Hybrid.

Управляя уровнем хранения  и  динамической агрегации, получаем оптимальное решение в части скорости расчетов/скорости отчетов.

1.5             Требования к модели

Так как ASO  гораздо быстрее выполняет динамические расчеты, которые базируются на иерархии, чем те которые используют формулу, то необходимо использовать следующий подход к моделированию

  • Плотное измерение (без формул на динамиках)
  • Плотное измерение (формулы на динамических элементах)
  • Разряженное измерение (рассчитываемое и хранимое)
  • Разряженное измерение (без формул на динамиках)
  • Разряженное измерение (формулы на динамических элементах)
  • Разряженное измерение (используемое для настройки паралелльности)

1.6             Лицензионные ограничения

Лицензия Oracle Hyperion Planning Plus не включает в себя поддержку ASO, так как базовый режим работы это BSO. Для обращений с проблемами Hybrid (ASO) в Oracle Support нужно приобрести лицензию Essbase plus.