You should specify QueryEntity.valueType
<https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/cache/QueryEntity.html#setValueType-java.lang.String->
corresponding
to the type name, that you use when constructing a binary object.

Please find attached example, that shows how to insert BinaryObjects in a
way, that will let you query them from SQL.
I made a named constant *PERSON_TYPE_NAME *to emphasise, that
QueryEntity#valueType
<https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/cache/QueryEntity.html#setValueType-java.lang.String->
should
match BinaryObject's type name.

If you want different binary objects with the same name to have different
fields, you should disable BinaryConfiguration#compactFooter
<https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/configuration/BinaryConfiguration.html#setCompactFooter-boolean->
.
It will let different BinaryObjects with the same name have different
schemas.
See the following thread for more information about compactFooter:
http://apache-ignite-users.70518.x6.nabble.com/Best-practice-for-class-versioning-marshaller-error-td22294.html

But all fields, that you want to access from SQL, should be specified in
the QueryEntity, so you should think about it in advance.

Denis

пн, 2 июл. 2018 г. в 17:54, Denis Mekhanikov <dmekhani...@gmail.com>:

> > Does all the tables created in ignite gets converted to binary objects
> internally?
> Yes, unless you specify a different IgniteConfiguration#marshaller
> <https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/configuration/IgniteConfiguration.html#setMarshaller-org.apache.ignite.marshaller.Marshaller->
> .
> But if you want to query data with Ignite SQL, only BinaryMarshaller is
> applicable.
>
> > Does all the cache entities like Person gets converted to binary objects
> internally?
> All entries are serialized with a configured marshaller. It is binary
> marshaller by default.
>
> > Is using binary objects better than entity cache objects?
> Using POJOs is usually more convenient. But BinaryObject lets you operate
> over objects without having the corresponding POJOs on your class path.
> Also by using BinaryObject you skip (de)serialization step, when
> performing put/get operations, so you may get better performance.
>
> > Is the a way to deserialize AvroFormat messages from kafka to ignite
> sink? Examples are available for String and JSON converters.
> You can deserialize any data, coming from Kafka.
> All you need is to implement a proper StreamSingleTupleExtractor
> <https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/stream/StreamSingleTupleExtractor.html>
>
> Denis
>
> пн, 2 июл. 2018 г. в 14:03, Sriveena Mattaparthi <
> sriveena.mattapar...@ekaplus.com>:
>
>> Denis,
>>
>>
>>
>> Have some open questions in ignite
>>
>> 1.       Does all the tables created in ignite gets converted to binary
>> objects internally?
>>
>> 2.       Does all the cache entities like Person gets converted to
>> binary objects internally?
>>
>> 3.       Is using binary objects better than entity cache objects?
>>
>> 4.       Is the a way to deserialize AvroFormat messages from kafka to
>> ignite sink? Examples are available for String and JSON converters.
>>
>>
>>
>> Please help.
>>
>>
>>
>> Thanks & Regards,
>>
>> Sriveena
>>
>>
>>
>> *From:* Denis Mekhanikov [mailto:dmekhani...@gmail.com]
>> *Sent:* Friday, June 29, 2018 8:09 PM
>>
>>
>> *To:* user@ignite.apache.org
>> *Subject:* Re: Information regarding Ignite Web Console
>>
>>
>>
>> Sriveena,
>>
>>
>>
>> You should configure corresponding query entities to be able to query
>> data in cache.
>>
>> Annotation driven configuration is also available.
>>
>>
>>
>> See more:
>> https://apacheignite.readme.io/docs/cache-queries#section-query-configuration-by-annotations
>> <https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapacheignite.readme.io%2Fdocs%2Fcache-queries%23section-query-configuration-by-annotations&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7C54bd9746eb084b48efc108d5ddce2906%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636658799914056234&sdata=jOJs8Be4hdwLNY1AYdwCHU0sisEzcdSkwGEQY4v9%2F3Y%3D&reserved=0>
>>
>>
>>
>> Denis
>>
>>
>>
>> пт, 29 июн. 2018 г. в 12:43, Sriveena Mattaparthi <
>> sriveena.mattapar...@ekaplus.com>:
>>
>> Hi Denis,
>>
>>
>>
>> I am trying to use the below code to query the binary object
>>
>>
>>
>>     IgniteCache<Integer, BinaryObject> cache =
>> start.getOrCreateCache(cfg).withKeepBinary();
>>
>>     BinaryObjectBuilder builder = start.binary().builder("BinaryTest");
>>
>>     builder.setField("name", "Test");
>>
>>     cache.put(1, builder.build());
>>
>>
>>
>>     QueryCursor<List<?>> query = cache.query(new SqlFieldsQuery("select
>> name from BinaryTest"));
>>
>>
>>
>> But it is failing in latest 2.5 version saying BinaryTest Table does not
>> exist.
>>
>>
>>
>> How do we query the binary objects in the above example?
>>
>>
>>
>> Please help.
>>
>>
>>
>> Thanks & Regards,
>>
>> Sriveena
>>
>>
>>
>> *From:* Denis Mekhanikov [mailto:dmekhani...@gmail.com]
>> *Sent:* Wednesday, June 27, 2018 6:37 PM
>>
>>
>> *To:* user@ignite.apache.org
>> *Subject:* Re: Information regarding Ignite Web Console
>>
>>
>>
>> Sriveena,
>>
>>
>>
>> You can have objects of different types in one cache, but querying it
>> will be tricky.
>>
>> You will have to configure QueryEntities
>> <https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapacheignite-sql.readme.io%2Fdocs%2Fschema-and-indexes%23section-queryentity-based-configuration&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7C6e1e06d9d5c0452da8da08d5dc2ee46a%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636657016326903455&sdata=Z093el7e%2Fj%2BngjoDdJjUwWNUWfPu4Yb0OZgKv3ZEiis%3D&reserved=0>
>>  for
>> your data, that will describe, which fields are available for querying.
>>
>> Annotation based configuration
>> <https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapacheignite-sql.readme.io%2Fdocs%2Fschema-and-indexes%23section-queryentity-based-configuration&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7C6e1e06d9d5c0452da8da08d5dc2ee46a%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636657016326903455&sdata=Z093el7e%2Fj%2BngjoDdJjUwWNUWfPu4Yb0OZgKv3ZEiis%3D&reserved=0>
>> is also available.
>>
>> Querying nested object is also possible, if you configure the query
>> entities properly:
>> https://apacheignite-sql.readme.io/docs/schema-and-indexes#section-indexing-nested-objects
>> <https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapacheignite-sql.readme.io%2Fdocs%2Fschema-and-indexes%23section-indexing-nested-objects&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7C6e1e06d9d5c0452da8da08d5dc2ee46a%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636657016326903455&sdata=1amkW4husY1fLSN%2FKtEBx8app5u%2FkUJhqiA4JCYgQ0o%3D&reserved=0>
>>
>>
>>
>> So, if you want to run SQL queries over your data, it should have some
>> concrete schema.
>>
>>
>>
>> Denis
>>
>>
>>
>> ср, 27 июн. 2018 г. в 14:08, Sriveena Mattaparthi <
>> sriveena.mattapar...@ekaplus.com>:
>>
>> Thank you so much for the quicker responses unlike any other forums..I
>> really appreciate that.
>>
>>
>>
>> One last question Denis, we have plan to load all the mongodb collections
>> to ignite cache and perform complex aggregations and join in memory.
>>
>>
>>
>> But Unlike any RDBMS data stores we cannot have fixed model objects for
>> each collections as each document in the collection may have its own
>> columns and datatypes.
>>
>>
>>
>> Could you please suggest, if ignite is the choice for this kind of
>> scenario where same mongo collection have different type of data.
>>
>>
>>
>> Please note that we have tried using BinaryObject, but we are stuck that
>> ignite doesn’t support querying on the inner binaryobject.( binaryobject
>> inside a binaryobject – sub documents, array inside a mongo document)
>>
>>
>>
>> Thanks & Regards,
>>
>> Sriveena
>>
>>
>>
>> *From:* Denis Mekhanikov [mailto:dmekhani...@gmail.com]
>> *Sent:* Wednesday, June 27, 2018 4:02 PM
>>
>>
>> *To:* user@ignite.apache.org
>> *Subject:* Re: Information regarding Ignite Web Console
>>
>>
>>
>> Sriveena,
>>
>>
>>
>> CacheStore
>> <https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fignite.apache.org%2Freleases%2Flatest%2Fjavadoc%2Forg%2Fapache%2Fignite%2Fcache%2Fstore%2FCacheStore.html&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7Cf08122ce8c394e2c7a1e08d5dc193829%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636656923260911744&sdata=7LEcZ6l%2FFMHm7ZZ518w4WH%2FBm8ylC3yhTDTl05AcZ0M%3D&reserved=0>
>>  extends
>> the CacheWriter
>> <https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstatic.javadoc.io%2Fjavax.cache%2Fcache-api%2F1.0.0%2Fjavax%2Fcache%2Fintegration%2FCacheWriter.html&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7Cf08122ce8c394e2c7a1e08d5dc193829%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636656923260911744&sdata=UBNLjs2J4E4IZG6JGhToO6QzOr7QXkNo7OFZycVYbq0%3D&reserved=0>
>> interface, which has delete
>> <https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstatic.javadoc.io%2Fjavax.cache%2Fcache-api%2F1.0.0%2Fjavax%2Fcache%2Fintegration%2FCacheWriter.html%23delete(java.lang.Object)&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7Cf08122ce8c394e2c7a1e08d5dc193829%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636656923260921745&sdata=2q1Mutj83625oVhVIEiawuiarAsK8UNmyZvrbk9J7nE%3D&reserved=0>
>> and deleteAll
>> <https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstatic.javadoc.io%2Fjavax.cache%2Fcache-api%2F1.0.0%2Fjavax%2Fcache%2Fintegration%2FCacheWriter.html%23deleteAll(java.util.Collection)&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7Cf08122ce8c394e2c7a1e08d5dc193829%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636656923260921745&sdata=NIJFLEwPbXOgpgkja9m48c8hENGNg1dTOyghSzaIiJ4%3D&reserved=0>
>> methods, which will be called by Ignite, when you remove entries from
>> Ignite caches.
>>
>> write
>> <https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstatic.javadoc.io%2Fjavax.cache%2Fcache-api%2F1.0.0%2Fjavax%2Fcache%2Fintegration%2FCacheWriter.html%23write(javax.cache.Cache.Entry)&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7Cf08122ce8c394e2c7a1e08d5dc193829%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636656923260931759&sdata=tBdc%2FPmMicFBKc82w7s10TvP5r9Sl7%2B7FLPJidwsFsw%3D&reserved=0>
>> and writeAll
>> <https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstatic.javadoc.io%2Fjavax.cache%2Fcache-api%2F1.0.0%2Fjavax%2Fcache%2Fintegration%2FCacheWriter.html%23writeAll(java.util.Collection)&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7Cf08122ce8c394e2c7a1e08d5dc193829%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636656923260931759&sdata=Sw5W5BSEgyrBRfoIUpx7pwIfYl5gXSNXtYefE4ghmBk%3D&reserved=0>
>> methods will be called, when you put some data into cache.
>>
>> It works the same way with MySQL or any other relational DB.
>>
>> So, CacheStore gives you a possibility to implement synchronization with
>> any external data source. You can do it for MongoDB, if you need.
>>
>>
>>
>> Denis
>>
>>
>>
>> ср, 27 июн. 2018 г. в 13:18, Sriveena Mattaparthi <
>> sriveena.mattapar...@ekaplus.com>:
>>
>> Thanks Denis for the pointers.
>>   But the case explained in https://www.youtube.com/watch?v=XBtI2Z01kAA
>> <https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DXBtI2Z01kAA&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7Cf08122ce8c394e2c7a1e08d5dc193829%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636656923260941765&sdata=HLmtH02Dr4h455PggnRBQxe0eZJxENxp7nDlPXb5xek%3D&reserved=0>
>> -  Using Ignite Web Console for Automatic RDBMS Integration with Apache
>> Ignite - Part 3. shows that any deletions happening on ignite cache are
>> getting reflected in the mysql database.   Which I thought is ignite
>> feature of autosyncing data to and from RDBMS databases. Please correct
>> my understanding.   Thanks & Regards, Sriveena
>>
>>
>>
>> *From:* Denis Mekhanikov [mailto:dmekhani...@gmail.com]
>> *Sent:* Wednesday, June 27, 2018 3:28 PM
>>
>>
>> *To:* user@ignite.apache.org
>> *Subject:* Re: Information regarding Ignite Web Console
>>
>>
>>
>> Sriveena,
>>
>>
>>
>> Web Console can generate schema in Ignite based on an existing schema in
>> a relational database.
>>
>> But you can do it yourself, without use of Web Console.
>>
>> Web Console only makes it easier to wire-up stuff, i.e. generate required
>> data classes and configuration.
>>
>>
>>
>> Unfortunately, this feature is not available for NoSQL databases. But you
>> still can configure everything yourself.
>>
>> You will need to implement a CacheStore
>> <https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fignite.apache.org%2Freleases%2Flatest%2Fjavadoc%2Forg%2Fapache%2Fignite%2Fcache%2Fstore%2FCacheStore.html&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7Cf4918a96e28644d507b908d5dc1491ba%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636656903279754570&sdata=V09AYASdhDUexLS4ZNs44zvEWjJ1lmZFqjVRwQft2xs%3D&reserved=0>,
>> that will load data from your database into Ignite.
>>
>> Here is documentation on this feature:
>> https://apacheignite.readme.io/docs/3rd-party-store
>> <https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapacheignite.readme.io%2Fdocs%2F3rd-party-store&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7Cf4918a96e28644d507b908d5dc1491ba%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636656903279754570&sdata=9w94GuXNlswyUb9XshSsZtol3Qp8ib7GIk9dpwbZiYQ%3D&reserved=0>
>>
>>
>>
>> Denis
>>
>>
>>
>> ср, 27 июн. 2018 г. в 12:41, Sriveena Mattaparthi <
>> sriveena.mattapar...@ekaplus.com>:
>>
>> Hi Denis,
>>
>>
>>
>> Thank you so much for the quick turn around
>>
>> Could you also confirm if there is a similar integration from ignite to
>> NoSQL database like MongoDB ?
>>
>>
>>
>> Our requirement also has mongo db changes to be automatically synced up
>> to Ignite?
>>
>>
>>
>> Please help.
>>
>>
>>
>> Thanks & Regards,
>> Sriveena
>>
>>
>>
>> *From:* Denis Mekhanikov [mailto:dmekhani...@gmail.com]
>> *Sent:* Wednesday, June 27, 2018 2:58 PM
>> *To:* user@ignite.apache.org
>> *Subject:* Re: Information regarding Ignite Web Console
>>
>>
>>
>> Sriveena,
>>
>>
>>
>> You can find sources of Web Console in the Ignite Git repository:
>> https://github.com/apache/ignite/tree/master/modules/web-console
>> <https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Fignite%2Ftree%2Fmaster%2Fmodules%2Fweb-console&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7C1bd39c9b865f43eca6d408d5dc104bee%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636656884921777570&sdata=J6LSkoURVCvHJDnKyWrjpFRj02E9T0njpXSxFJPJAvU%3D&reserved=0>
>>
>>
>>
>> If you want to run Web Console by yourself, you can use the following
>> Docker image:
>> https://hub.docker.com/r/apacheignite/web-console-standalone/
>> <https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fhub.docker.com%2Fr%2Fapacheignite%2Fweb-console-standalone%2F&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7C1bd39c9b865f43eca6d408d5dc104bee%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636656884921777570&sdata=xQKYRGlEn9UQQ2EDM9nc6RTZLEbHH7eCl7vGCf2UbLM%3D&reserved=0>
>>
>> There is also Web Console, hosted by GridGain, available at
>> https://console.gridgain.com/
>> <https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fconsole.gridgain.com%2F&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7C1bd39c9b865f43eca6d408d5dc104bee%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636656884921787575&sdata=yyxqlC%2BcnR9yLRwgGxD6aCvy0t9eh2J4djvNsztr2YM%3D&reserved=0>
>>
>>
>>
>> Denis
>>
>>
>>
>> ср, 27 июн. 2018 г. в 10:14, Sriveena Mattaparthi <
>> sriveena.mattapar...@ekaplus.com>:
>>
>> Hi,
>>
>> I am interested to know if Ignite Webconsole is opensource as the
>> document says
>>
>> Ignite can integrate with any relational database (RDBMS) that supports a
>> JDBC driver - Oracle, PostgreSQL, Microsoft SQL Server, and MySQL
>>
>> Ignite supports automatic RDBMS integration via Ignite Web Console
>> <https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fconsole.gridgain.com%2F&data=02%7C01%7CSriveena.Mattaparthi%40ekaplus.com%7C1bd39c9b865f43eca6d408d5dc104bee%7C2a5b4e9716be4be4b2d40f3fcb3d373c%7C1%7C0%7C636656884921797580&sdata=CorLQYS%2FCirN%2BOxK72fvwKFGL5E%2BSQ%2FY4Qn0hPzNvW0%3D&reserved=0>
>> .
>>
>> Please confirm.
>>
>> Thanks & Regards,
>>
>> Sriveena
>>
>>
>>
>>

Attachment: BinaryObjectQueryExample.java
Description: Binary data

Reply via email to