Use o Maxgraph Writer para importar dados em massa de tabelas do MaxCompute para uma instância de grafo do Maxgraph. O Maxgraph Writer é um plugin de integração de dados do DataWorks e permite importar vértices e arestas como destinos separados.
Limites
O Maxgraph Writer suporta apenas o modo script.
Este plugin destina-se principalmente à sincronização de dados do MaxCompute para o Maxgraph.
Pré-requisitos
Antes de começar, verifique se você tem:
O nome da conta de build do Maxgraph (entre em contato com o administrador do Maxgraph para obtê-lo)
Permissão de leitura concedida à conta de build na tabela source do MaxCompute
Importar dados do MaxCompute para o Maxgraph
O Maxgraph Writer opera exclusivamente em modo script. Para configure uma tarefa de sincronização, consulte Configurar uma tarefa no modo script.
A configuração de importação varia entre vértices e arestas. Escolha a seção correspondente ao tipo de dado que você está importando.
Importar vértices
O exemplo a seguir importa vértices do tipo person de uma tabela do MaxCompute. O array column no reader e o array column no writer devem seguir a mesma ordem, com mapeamento direto posição a posição.
{
"job": {
"setting": {
"speed": {
"channel": 1
},
"errorLimit": {
"record": 1000
}
},
"content": [
{
"reader": {
"name": "odpsreader",
"parameter": {
"accessId": "*****",
"accessKey": "*****",
"project": "maxgraph_dev",
"table": "maxgraph_demo_person",
"column": [
"id",
"name",
"age"
],
"packageAuthorizedProject": "biggraph_dev",
"splitMode": "record",
"odpsServer": "******"
}
},
"writer": {
"name": "maxgraphwriter",
"parameter": {
"endpoint": "http://graph.alibaba.net",
"graphName": "xxx",
"accessId": "xxx",
"accessKey": "xxx",
"label": "person",
"labelType": "vertex",
"onlineMode": "partition",
"splitSize": "256",
"column": [
"id",
"name",
"age"
]
}
}
}
]
}
}
Importar arestas
Este exemplo importa arestas knows entre vértices person. Cada entrada no array column do writer é um objeto contendo um name (nome da propriedade no grafo) e um propertyType. Esse campo indica se o mapeamento refere-se à chave primária do vértice de origem, à chave primária do vértice de destino ou a uma propriedade da aresta.
{
"job": {
"setting": {
"speed": {
"channel": 1
},
"errorLimit": {
"record": 1000
}
},
"content": [
{
"reader": {
"name": "odpsreader",
"parameter": {
"accessId": "*****",
"accessKey": "*****",
"project": "maxgraph_dev",
"table": "maxgraph_demo_knows",
"column": [
"person_id",
"person_id2",
"weight",
"id"
],
"packageAuthorizedProject": "biggraph_dev",
"splitMode": "record",
"odpsServer": "****"
}
},
"writer": {
"name": "maxgraphwriter",
"parameter": {
"endpoint": "http://graph.alibaba.net",
"graphName": "xxx",
"accessId": "xxx",
"accessKey": "xxx",
"label": "knows",
"labelType": "edge",
"srcLabel": "person",
"dstLabel": "person",
"onlineMode": "partition",
"splitSize": "256",
"column": [
{
"name": "id",
"propertyType": "srcPrimaryKey"
},
{
"name": "id",
"propertyType": "dstPrimaryKey"
},
{
"name": "weight",
"propertyType": "edgeProperty"
},
{
"name": "id",
"propertyType": "edgeProperty"
}
]
}
}
}
]
}
}
Parâmetros do Writer
Parâmetros comuns
|
Parâmetro |
Descrição |
Obrigatório |
Padrão |
|
|
URL do Maxgraph. |
Sim |
Nenhum |
|
|
Nome da instância do grafo. |
Sim |
Nenhum |
|
|
Nome de usuário. |
Sim |
Nenhum |
|
|
Senha do usuário. |
Sim |
Nenhum |
|
|
Rótulo do vértice ou aresta a importar. |
Sim |
Nenhum |
|
|
Tipo de entidade do grafo para importação. Defina como |
Sim |
Nenhum |
|
|
Tamanho do shard (em MB) para o job MapReduce durante a criação dos dados. |
Não |
256 |
|
|
Modo de publicação. Consulte Escolher um modo de publicação. |
Não |
|
Parâmetros de vértice
Configure estes parâmetros quando o labelType for vertex.
|
Parâmetro |
Descrição |
Obrigatório |
Padrão |
|
|
Lista ordenada de nomes de propriedades do vértice. A ordem deve corresponder exatamente à lista |
Sim |
Nenhum |
Parâmetros de aresta
Aplique estes parâmetros caso o labelType seja edge.
|
Parâmetro |
Descrição |
Obrigatório |
Padrão |
|
|
Rótulo do vértice de origem. |
Sim |
Nenhum |
|
|
Rótulo do vértice de destino. |
Sim |
Nenhum |
|
|
Lista ordenada de objetos de propriedade. Cada objeto define um |
Sim |
Nenhum |
|
|
Nome da propriedade no grafo, especificado dentro de cada entrada de |
Sim |
Nenhum |
|
|
Função da propriedade no grafo. Valores válidos: |
Sim |
Nenhum |
Escolher um modo de publicação
O parâmetro onlineMode determina como o Maxgraph publica os dados importados. Escolha o modo considerando se suas consultas toleram uma janela com dados antigos e novos misturados durante a publicação.
|
Modo |
Comportamento durante a publicação |
Velocidade |
Recomendado quando |
|
|
Consultas podem retornar uma mistura de dados antigos e novos. A consistência eventual é garantida. |
Mais rápido |
A atualização dos dados é menos crítica e você prioriza jobs de importação mais curtos. |
|
|
Consultas retornam apenas dados antigos até a conclusão da publicação. |
Mais lento |
As consultas não devem acessar dados parcialmente publicados. |