Запрос данных из внешней таблицы улья, который указывает на mongodb в oracle - PullRequest
0 голосов
/ 22 февраля 2020

Как упоминалось в заголовке, я пытаюсь запросить данные, хранящиеся в mongodb в базе данных oracle. Для этого я создал внешнюю таблицу в кусте:

CREATE EXTERNAL TABLE MYCOLLECION_HIVE_EXT(ID string, MY_COLUMN string)
STORED BY 'com.mongodb.hadoop.hive.MongoStorageHandler'
WITH SERDEPROPERTIES('mongo.columns.mapping'='{"ID":"_id","MY_COLUMN":"my_column"}')
TBLPROPERTIES('mongo.uri'='mongodb://bigdatalite.localdomain:27017/mydatabase.mycollection');

И в oracle я создал внешнюю таблицу, указывающую на эту внешнюю таблицу улья:

CREATE TABLE MYCOLLECION_HIVE_ORACLE_EXT(
ID VARCHAR2(60),
MY_COLUMN VARCHAR2(60)
)
ORGANIZATION EXTERNAL (
TYPE ORACLE_HIVE
DEFAULT DIRECTORY ORACLE_BIGDATA_CONFIG
ACCESS PARAMETERS
(
com.oracle.bigdata.tablename=default.MYCOLLECION_HIVE_EXT
)
)
REJECT LIMIT UNLIMITED;

Когда я выполнить запрос, подобный SELECT * from MYCOLLECTION_HIVE_EXT в HIVE, он возвращает все данные, но когда я запускаю этот запрос в ORACLE: SELECT * from MYCOLLECTION_HIVE_ORACLE_EXT, он возвращает строки не выбраны и ошибки нет показывая.

Среда, которую я использовал, - это виртуальная машина bigdatalite из oracle.

Однако, когда, например, Hive указывает на oracle no sql, запрос от oracle возвращает строки.

Кто-нибудь из вас сталкивался с этой проблемой?

...