You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@atlas.apache.org by "Masaru Uchida (Jira)" <ji...@apache.org> on 2020/02/26 10:24:00 UTC
[jira] [Created] (ATLAS-3639) Enable to select BigQuery as a
GraphStorageBackend instead of HBase
Masaru Uchida created ATLAS-3639:
------------------------------------
Summary: Enable to select BigQuery as a GraphStorageBackend instead of HBase
Key: ATLAS-3639
URL: https://issues.apache.org/jira/browse/ATLAS-3639
Project: Atlas
Issue Type: Wish
Reporter: Masaru Uchida
Hi, I'm developing an ETL infrastructure and researching Atlas as part of a metadata management infrastructure replacement.
h2. Overview
I want to be able to use Bigquery for graph storage backend.
h2. Why
* Building hbase on your own is very painful.
* Introducing managed services lowers installation costs.
h2. What did and did not work
By replacing Hbase of {{HbaseStoreManager}} (atlas-janusgraph-hbase2) with {{BigtableConfiguration}} , operation such as startup and registration of Entity could be confirmed.
{code:java}
- this.hconf = HBaseConfiguration.create();
+ String PROJECT_ID = "my-gcp-project-id";
+ String INSTANCE_ID = "my-bigtable-instance-id";
+ String APP_PROFILE_ID = "default";
+ org.apache.hadoop.conf.Configuration conf = BigtableConfiguration.configure(PROJECT_ID, INSTANCE_ID);
+ Credentials credentials = CredentialFactory.getApplicationDefaultCredential();
+
+ this.hconf = BigtableConfiguration.withCredentials(conf, credentials);
+ hconf.set(BigtableOptionsFactory.APP_PROFILE_ID_KEY, APP_PROFILE_ID);
{code}
https://github.com/usadamasa/atlas/blob/e2c2420aebe9dd6ebbd8ef7a41667a76ed621657/graphdb/janus-hbase2/src/main/java/org/janusgraph/diskstorage/hbase2/HBaseStoreManager.java#L295-L303
https://github.com/usadamasa/atlas/blob/e2c2420aebe9dd6ebbd8ef7a41667a76ed621657/graphdb/janus-hbase2/src/main/java/org/janusgraph/diskstorage/hbase2/HBaseCompat2_0.java#L48
(this branch from {{origin/branch-2.0}} )
However, {{Scan().SetReversed(true)}} calling in {{HBaseBasedAuditRepository}} fails in audit log search due to API not supported by Bigtable.
bq. Reverse scans are not supported. You cannot call the method org.apache.hadoop.hbase.client.Scan#setReversed(boolean reversed).
https://cloud.google.com/bigtable/docs/hbase-differences#gets_and_scans
h2. Proposal
* Enable to change the implementation of {{HBaseStoreManager}} if bigtable is specified in {{atlas.graph.storage.backend}} of atlas-application.properties.
* It would be nice if Solr or elasticsearch could be specified in {{atlas.EntityAuditRepository.impl}} .
Sorry in poor english. thank you.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)