Примеры

В следующем примере показано получение доступа к таблице MySQL через JDBC.

Предполагая, что инстанс MySQL доступен на 192.168.200.6:3306, создается таблица в MySQL:

use demodb;
create table myclass(
    id int(4) not null primary key,
    name varchar(20) not null,
    degree double(16,2)
);

Затем некоторые данные вставляются в таблицу MySQL:

insert into myclass values(1, 'tom', 90);
insert into myclass values(2, 'john', 94);
insert into myclass values(3, 'simon', 79);

JDBC-файлы драйвера MySQL (JAR) копируются в /usr/lib/pxf на всех узлах кластера, а в /etc/pxf/conf/pxf-public.classpath добавляется строка:

/usr/lib/pxf/mysql-connector-java-*.jar

После этого все сегменты PXF перезапускаются. В ADB создается внешняя таблица:

CREATE EXTERNAL TABLE myclass(
    id integer,
    name text,
    degree float8
)
LOCATION (
    'pxf://localhost:51200/demodb.myclass?PROFILE=JDBC&JDBC_DRIVER=com.mysql.jdbc.Driver&DB_URL=jdbc:mysql://192.168.200.6:3306/demodb&USER=root&PASS=root'
)
FORMAT 'CUSTOM' (
    FORMATTER='pxfwritable_import'
);

Наконец, к последней таблице выполняется запрос, который возвращает ожидаемые результаты:

SELECT * FROM myclass;
SELECT id, name FROM myclass WHERE id = 2;

Который возвращает ожидаемые результаты.