WSO2 - таблица, созданная с помощью аналитического скрипта, невидимого в инструменте создания гаджетов

Мой вариант использования: отправляет данные из потока, настроенного в ESB, в BAM и создает отчет с помощью «Инструмента создания гаджетов».

Публикация потока из ESB в BAM после добавления агента в прокси-сервис работала нормально.

Из потока я создал таблицу с помощью экрана «Аналитика-> Добавить», и таблица, похоже, сохраняется, поскольку я могу выбрать и просмотреть результаты на том же экране.

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

Скрипт для аналитической таблицы запускается из экрана Аналитика-> Добавить

CREATE EXTERNAL TABLE IF NOT EXISTS CREDITTABLE(creditkey STRING, creditFlag STRING, version STRING)
  STORED BY 'org.apache.hadoop.hive.cassandra.CassandraStorageHandler'
  WITH SERDEPROPERTIES ( "cassandra.host" = "127.0.0.1" , 
    cassandra.port" = "9163" , "cassandra.ks.name" = "EVENT_KS" ,
    "cassandra.ks.username" = "admin" ,
    "cassandra.ks.password" = "admin" ,
    "cassandra.cf.name" = "firstStream" ,
    "cassandra.columns.mapping" = ":key,payload_k1-constant, Version" );

Пытался найти таблицу в следующих базах данных:

jdbc:h2:repository/database/WSO2CARBON_DB;AUTO_SERVER=TRUE
jdbc:h2:repository/database/metastore_db;AUTO_SERVER=TRUE
jdbc:h2:repository/database/samples/BAM_STATS_DB;AUTO_SERVER=TRUE

Не делали никаких пользовательских конфигураций БД.


person wajid mehraj    schedule 21.03.2013    source источник


Ответы (2)


Вы пробовали jdbc:h2:repository/database/samples/WSO2CARBON_DB;AUTO_SERVER=TRUE? Кроме того, вы вставили определение хранилища Cassandra, которое, вероятно, используется для получения ввода, а не для сохранения вывода. Если вы зададите полный запрос улья, это поможет лучше разобраться в проблеме.

person dev_nut    schedule 23.03.2013

Почему я не вижу таблицу в инструменте создания гаджетов?

Таблица, которую я создал с помощью сценария Hive, представляет собой таблицу базы данных Casandra Distributed, а ссылка, которую я дал в инструменте создания гаджетов при поиске таблицы, была из реляционной СУБД h2. таблица базы данных.

Ниже приведены ссылки на базу данных реляционной СУБД h2, которая поставляется с WSO2.

jdbc:h2:repository/database/WSO2CARBON_DB;AUTO_SERVER=TRUE
jdbc:h2:repository/database/metastore_db;AUTO_SERVER=TRUE
jdbc:h2:repository/database/samples/BAM_STATS_DB;AUTO_SERVER=TRUE

Разрешение ----- Как получить таблицы, перечисленные в инструменте создания гаджетов?

Чтобы получить таблицы, перечисленные в инструменте создания гаджетов, вы должны широко использовать Hive Script, чтобы выполнить следующие 3 шага:

  1. Создайте ссылку на таблицу Hive для потока данных Casandra, в который данные отправляются из ESB в моем случае.

    СОЗДАЙТЕ ВНЕШНЮЮ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ CREDITTABLE (payload_creditkey STRING, payload_creditFlag STRING, payload_version STRING), СОХРАНЯЕМЫЕ В 'org.apache.hadoop.hive.cassandra.CassandraStorageHandler' WITH SERDEPROPERTIES. port "=" 9163 "," cassandra.ks.name "=" EVENT_KS "," cassandra.ks.username "=" admin "," cassandra.ks.password "=" admin "," cassandra.cf.name " = "firstStream", "cassandra.columns.mapping" = ": ключ, константа payload_k1, версия");

  2. С помощью сценария Hive создайте сценарий H2 RDBMS и ссылку, на которую я буду копировать свои данные из потока Casandra.

    СОЗДАЙТЕ ВНЕШНЮЮ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ CREDITTABLEh2summary (creditFlg STRING, verSion STRING), СОХРАНЯЕМЫЕ НА 'org.wso2.carbon.hadoop.hive.jdbc.storage.JDBCStorageHandler' TBLPROPERTIES ('mapred.jdbcl.hdriver' = 'mapred.jdbcl.hdriver'. Драйвер ',' mapred.jdbc.url '=' jdbc: h2: C: /wso2bam-2.2.0/repository/samples/database/BAM_STATS_DB ',' mapred.jdbc.username '=' wso2carbon ',' mapred.jdbc .password '=' wso2carbon ',' hive.jdbc.update.on.duplicate '=' true ',' hive.jdbc.primary.key.fields '=' creditFlg ',' hive.jdbc.table.create.query '=' СОЗДАТЬ ТАБЛИЦУ CREDITTABLE_newh2 (creditFlg VARCHAR (100), версия VARCHAR (100)) ');

  3. Напишите запрос Hive, с помощью которого данные будут скопированы из Casandra в H2 [RDBMS]

    вставить таблицу перезаписи CREDITTABLEh2summary выбрать a.payload_creditFlag, a.payload_version из CREDITTABLE a;

Сделав это, я смог увидеть таблицу в инструменте создания гаджетов, однако мне также пришлось изменить ссылку на базу данных H2 на абсолютную в переданном мной значении URL-адреса JDBC.

Наблюдение:

Было интересно, может ли инструмент создания гаджетов напрямую указывать на Casandra Stream без необходимости копировать таблицы в базу данных СУБД.

person wajid mehraj    schedule 24.03.2013