Backend data model deserialization
Elliot Block <eblock@...>
Hello, https://docs.janusgraph.org/advanced-topics/data-model/
|
|
JanusGraph Meetup #4 Recording
Ted Wilmes
Hello, Thanks to all who attended the meetup yesterday. If you weren't able to make it, you can find the recording at: https://www.experoinc.com/online-seminar/janusgraph-community-meetup. Thanks to our presenters: Marc, Saurabh, and Bruno, we had a really good set of material presented. Thanks, Ted
|
|
Re: Query Optimisation
hadoopmarc@...
Hi Vinayak,
Please study the as(), select(), project() and cap() steps from the TinkerPop ref docs. The arguments of project() do not reference the keys of side effects but rather introduce new keys for its output. The query I provided above was tested in the TinkerPop modern graph, so I repeat my suggestion to try that one first and show in what way it fails to provide sensible output. Best wishes, Marc
|
|
Re: Query Optimisation
Vinayak Bali
Hi Marc, I am using the following query now. g2.inject(1).union( V().has('property1', 'V1').aggregate('v1').outE().has('property1', 'E1').limit(100).aggregate('e').inV().has('property2', 'V2').aggregate('v2') ).project('v1','e','v2').by(valueMap().by(unfold())) But this only returns the elements of V2. No V1 and E1 attributes are returned. Can you please check ?? Thanks & Regards, Vinayak
On Mon, May 10, 2021 at 8:13 PM <hadoopmarc@...> wrote: Hi Vinayak,
|
|
Making janus graph client to not use QUORUM
anjanisingh22@...
Hi All,
I am trying to create nodes in graph and while reading created node id i am getting below exception:
I am trying to update janus client to not use QUORUM but LOCAL_ONE. Setting below property but its not working.
In CQLTransaction class i see its getting set by reading value from CustomOption public CQLTransaction(final BaseTransactionConfig config) {
GraphTraversalSource g = janusGraph.buildTransaction()
|
|
Re: [janusgraph-dev] [Meetup] JanusGraph Meetup May 18 covering JG OLAP approaches
Thank you Ted, I am also interested in watching this video on OLAP later, it is like 00:30 in Melbourne, not too easy to get up in the morning...
Regards to presenters, Christopher.
|
|
Re: [janusgraph-dev] [Meetup] JanusGraph Meetup May 18 covering JG OLAP approaches
Ted Wilmes
Hi Boxuan, Yes, definitely. I'll post this under presentations on janusgraph.org. Also, I hadn't posted meetup 3 on there yet and finally tracked the link down, so that will also be up there shortly. Thanks, Ted
On Sun, May 16, 2021 at 10:22 AM Boxuan Li <liboxuan@...> wrote:
|
|
Re: [janusgraph-dev] [Meetup] JanusGraph Meetup May 18 covering JG OLAP approaches
Boxuan Li
Hi Ted,
toggle quoted messageShow quoted text
Thanks for organizing this! Do you have plans to record & release the video after the meetup? 10:30 ET is a bit late for some regions in APAC, so it would be great if there would be a video record. Cheers, Boxuan
|
|
Re: Storing and reading connected component RDD through OutputFormatRDD & InputFormatRDD
hadoopmarc@...
Hi Anjani,
The following section of the TinkerPop ref docs gives an example of how to reuse the output RDD of one job in a follow-up gremlin OLAP job. https://tinkerpop.apache.org/docs/3.4.10/reference/#interacting-with-spark Best wishes, Marc
|
|
Re: MapReduce reindexing with authentication
hadoopmarc@...
Hi Boxuan,
Yes, I did not finish my argument. What I tried to suggest: if the hadoop CLI command checks the GENERIC_OPTIONS env variable, then maybe also the mapreduce java client called by JanusGraph checks the GENERIC_OPTIONS env variable. The (old) blog below suggests, however, that this behavior is not present by default but requires the janusgraph code to run hadoop's ToolRunner. So, just see if this is any better than what you had in mind to implement. https://hadoopi.wordpress.com/2013/06/05/hadoop-implementing-the-tool-interface-for-mapreduce-driver/ Best wishes, Marc
|
|
[Meetup] JanusGraph Meetup May 18 covering JG OLAP approaches
Ted Wilmes
Hello, We will be hosting a community meetup next week on Tuesday, May 18th at 9:30 central/10:30 eastern. We have a great set of speakers who will be discussing all things JanusGraph OLAP: * Hadoop Marc who has helped many of us on the mailing list and in JG issues * Saurabh Verma, principal engineer at Zeotap * Bruno Berriso, engineer at Expero If you're interested in signing up, here's the link: https://www.experoinc.com/get/janusgraph-user-group. Thanks, Ted
|
|
Re: MapReduce reindexing with authentication
Boxuan Li
Hi Marc, you are right, we are indeed using this -files option :)
toggle quoted messageShow quoted text
|
|
Re: MapReduce reindexing with authentication
hadoopmarc@...
Hi Boxuan,
Using existing mechanisms for configuring mapreduce would be nicer, indeed. Upon reading this hadoop command, I see a GENERIC_OPTIONS env variable read by the mapreduce client, that can have a -files option. Maybe it is possible to include a jaas file that points to the (already installed?) keytab file on the workers? Best wishes, Marc
|
|
MapReduce reindexing with authentication
Boxuan Li
We have been using a yarn cluster to run MapReduce reindexing (Cassandra + Elasticsearch) for a long time. Recently, we introduced Kerberos-based authentication to the Elasticsearch cluster, meaning that worker nodes need to authenticate via a keytab file.
We managed to achieve so by using a hadoop command to include the keytab file when submitting the MapReduce job. Hadoop automatically copies this file and distributes it to the working directory of all worker nodes. This works well for us, except that we have to make changes to MapReduceIndexManagement class so that it accepts an org.apache.hadoop.conf.Configuration object (which is created by org.apache.hadoop.util.ToolRunner) rather than instantiate one by itself. We are happy to submit a PR for this, but I would like to hear if there is any better way of handling this. Cheers, Boxuan
|
|
Multiple entries with same key on mixed index
toom@...
Hello, I haven't identified the root cause and I don't know how to reproduce it. I would like to find a solution to repair the inconsistency, without loosing my data. The exposed API of JanusGraphManagement doesn't seem to be helpful: mixed index can't be removed and the IllegalArgumentException is raised when I try to retrieve the index status. Removing the index in Lucene or unconfiguring index backend doesn't help either. So I've tried to find a solution using internal API. Is it safe to delete Lucene data files and remove the schema vertex related to the mixed index ? ((ManagementSystem)mgmt).getWrappedTx() Is there a reason to not permit to remove a mixed index ? Best wishes Toom.
|
|
Re: Support for DB cache for Multi Node Janus Server Setup
pasansumanathilake@...
On Thu, May 6, 2021 at 11:36 PM, <hadoopmarc@...> wrote:
MarcHi Marc, Thanks for the reply. Yeah, it's true that a multi-node setup uses the same storage backend. However, I am referring to here is the Janusgraph database cache - https://docs.janusgraph.org/basics/cache/#database-level-caching Which is using Janusgraph heap memory.
|
|
Storing and reading connected component RDD through OutputFormatRDD & InputFormatRDD
Hi All, I see in tinker-pop library we have OutputFormatRDD to save data. I tired outputFormatRDD.writeGraphRDD(graphComputerConfiguration, uniqueRDD); ## connected but its throwing class cast exception as connected component vertex program output RDD value is a list which can not be cast to VertexWritable
outputFormatRDD.writeMemoryRDD(graphComputerConfiguration, "memoryKey", uniqueRDD); ## Its saving RDD by creating memory key folder name at output location.
Thanks,
|
|
Re: ID block allocation exception while creating edge
anjanisingh22@...
On Tue, May 11, 2021 at 04:56 PM, <hadoopmarc@...> wrote:
ids.num-partitionsThanks for help Marc, i will try updating value of ids.num-partitions = number of executors.
|
|
Re: ID block allocation exception while creating edge
hadoopmarc@...
Hi Anjani,
It is a while ago I did this myself. I interpret ids.num-partitions as a stock of reserved id blocks that can be delegated to a janugraph instance. It does not have a large value to not waste ids space. Actually, parallel tasks is not the number we want. We want the ids.num-partitions to be equal to the number of janusgraph instances, because initially all janusgraph instances ask for an ids block at the same time. Note that the cores in a spark executor can share the same janusgraph instance if you use a singleton object for that. So, if you have 50 executors with 5 cores each (and using a singleton janusgraph instance), I would try ids.num-partitions =50 Best wishes, Marc
|
|
Re: ID block allocation exception while creating edge
anjanisingh22@...
We have 250 parallel spark task running for creating node/edges.
I didn't get parallel tasks - (for setting ids.num-partitions)? Could you please help me on it?
|
|