Github user denalex commented on a diff in the pull request:

    https://github.com/apache/incubator-hawq/pull/1344#discussion_r171036360
  
    --- Diff: pxf/pxf-ignite/README.md ---
    @@ -0,0 +1,67 @@
    +# Accessing Ignite database using PXF
    +
    +The PXF Ignite plug-in enables to access the [Ignite 
database](https://ignite.apache.org/) (both read and write operations are 
supported) via REST API.
    +
    +
    +# Prerequisites
    +
    +Check the following before using the plug-in:
    +
    +* The Ignite plug-in is installed on all PXF nodes;
    +
    +* The Ignite client is installed and running at the `IGNITE_HOST` 
(`localhost` by default; see below), and it accepts http queries from the PXF 
(note that *enabling Ignite REST API does not require changes in Ignite 
configuration*; see the instruction on how to do that at 
https://apacheignite.readme.io/docs/rest-api#section-getting-started).
    +
    +
    +# Syntax
    +
    +```
    +CREATE [READABLE] EXTERNAL TABLE <table_name> (
    +    <column_name> <data_type>[, <column_name> <data_type>, ...] | LIKE 
<other_table>
    +)
    +LOCATION 
('pxf://<ignite_table_name>?PROFILE=Ignite[&<extra-parameter>&<extra-parameter>&...]')
    +FORMAT 'CUSTOM' (formatter='pxfwritable_import');
    +```
    +where each `<extra-parameter>` is one of the following:
    +* `IGNITE_HOST=<ignite_host_address_with_port>`. The location of Ignite 
client node. If not given, `127.0.0.1:8080` is used by default;
    +* `IGNITE_CACHE=<ignite_cache_name>`. The name of Ignite cache to use. If 
not given, this parameter is not included in queries from PXF to Ignite, thus 
Ignite default values will be used (at the moment, this is `Default` cache). 
This option is **case-sensitive**;
    +* `BUFFER_SIZE=<unsigned_int>`. The number of tuples send to (from) Ignite 
per a response. The same number of tuples is stored in in-plug-in cache. The 
values `0` and `1` are equal (cache is not used, each tuple is passed in it's 
own query to Ignite). If not given, `128` is used by default;
    +* `PARTITION_BY=<column>:<column_type>`. See below;
    +* `RANGE=<start_value>:<end_value>`. See below;
    +* `INTERVAL=<value>[:<unit>]`. See below.
    +
    +
    +# Partitioning
    +## Introduction
    +
    +PXF Ignite plugin supports simultaneous access to Ignite database from 
multiple PXF segments. *Partitioning* should be used in order to perform such 
operation.
    +
    +If the partitioning is not used, all the data will be retrieved by a 
single PXF segment.
    +
    +Partitioning in PXF Ignite plug-in works just like in PXF JDBC plug-in.
    +
    +This feature is optional. However, a bug in the `pxf-service` which makes 
partitioning necessary for any query was fixed only on 17th Jan 2018 in [this 
commit](https://github.com/apache/incubator-hawq/commit/0d620e431026834dd70c9e0d63edf8bb28b38227),
 so the older versions of PXF may return an exception if a query does not 
contain a meaningful `PARTITION_BY` parameter.
    --- End diff --
    
    I don't think we need to include this statement, as this new plugin cannot 
be built with the older PXF version in the open source.


---

Reply via email to