Neo4j ETL 훓어보기
포스트
취소

Neo4j ETL 훓어보기

그래프 데이터베이스용 ETL 제품 개발을 위해 Neo4j ETL 제품을 탐색합니다.

Neo4j Desktop

Neo4j ETL 확장 프로그램을 수행시키기 위한 메인 화면

31_00-neo4j-desktop

Neo4j ETL

STEP1. Datasource 선택

31_01-neo4j-etl-step1

31_02-neo4j-etl-step1_jdbc

STEP2. Mapping 생성

31_03-neo4j-etl-step2

31_04-neo4j-etl-step2_nodes

31_05-neo4j-etl-step2_edges

STEP3. 설정 확인 및 Import Option 선택

31_06-neo4j-etl-step3

31_07-neo4j-etl-step3_option

STEP4. Import 수행

31_08-neo4j-etl-step4_batch

Neo4j Browser

임포트 된 데이터 확인

31_09-neo4j-browser-northwind

Neo4j ETL 추가 설명

mapping file

Neo4j ETL의 UI를 통해 생성되는 mapping file. 이 파일을 읽어서 command line 으로 실제 etl 작업을 수행

  • object type : Node
    • SELECT
      • categories.categoryid AS categoryid,
      • categories.categoryid AS categoryid,
      • categories.description AS description,
      • categories.categoryname AS categoryname,
      • ‘Category’ AS NODE_LABEL
    • FROM
      • categories
  • mappings 속성들 (column → field)
    • categoryid → Id (Id)
    • categoryid → categoryid (Data)
    • description → description (Data)
    • categoryname → categoryname (Data)
    • Category (NODE_LABEL) → Category (Label)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
{
        "name": "NODE_public.categories_b108615d-488e-4571-9c1c-944c4a146e4b",
        "schema": "public",
        "graph-object-type": "Node",
        "sql": "SELECT \"public\".\"categories\".\"categoryid\" AS \"categoryid\", \"public\".\"categories\".\"categoryid\" AS \"categoryid\", \"public\".\"categories\".\"description\" AS \"description\", \"public\".\"categories\".\"categoryname\" AS \"categoryname\", 'Category' AS \"_NODE_LABEL_\" FROM \"public\".\"categories\"",
        "mappings":
        [
            {
                "column":
                {
                    "type": "CompositeColumn",
                    "table": "categories",
                    "schema": "public",
                    "role": "PrimaryKey",
                    "columns":
                    [
                        {
                            "type": "SimpleColumn",
                            "role": "Data",
                            "table": "categories",
                            "schema": "public",
                            "name": "categoryid",
                            "alias": "categoryid",
                            "sql-data-type": "SMALLINT",
                            "column-value-selection-strategy": "SelectColumnValue"
                        }
                    ]
                },
                "field":
                {
                    "type": "Id",
                    "name": "",
                    "id-space": "public.categories"
                }
            },
            {
                "column":
                {
                    "type": "SimpleColumn",
                    "role": "Data",
                    "table": "categories",
                    "schema": "public",
                    "name": "categoryid",
                    "alias": "categoryid",
                    "sql-data-type": "SMALLINT",
                    "column-value-selection-strategy": "SelectColumnValue"
                },
                "field":
                {
                    "type": "Data",
                    "name": "categoryid",
                    "neo4j-data-type": "Long",
                    "is-array": false
                }
            },
            {
                "column":
                {
                    "type": "SimpleColumn",
                    "role": "Data",
                    "table": "categories",
                    "schema": "public",
                    "name": "description",
                    "alias": "description",
                    "sql-data-type": "VARCHAR",
                    "column-value-selection-strategy": "SelectColumnValue"
                },
                "field":
                {
                    "type": "Data",
                    "name": "description",
                    "neo4j-data-type": "String",
                    "is-array": false
                }
            },
            {
                "column":
                {
                    "type": "SimpleColumn",
                    "role": "Data",
                    "table": "categories",
                    "schema": "public",
                    "name": "categoryname",
                    "alias": "categoryname",
                    "sql-data-type": "VARCHAR",
                    "column-value-selection-strategy": "SelectColumnValue"
                },
                "field":
                {
                    "type": "Data",
                    "name": "categoryname",
                    "neo4j-data-type": "String",
                    "is-array": false
                }
            },
            {
                "column":
                {
                    "type": "SimpleColumn",
                    "role": "Literal",
                    "table": "categories",
                    "schema": "public",
                    "name": "Category",
                    "alias": "_NODE_LABEL_",
                    "sql-data-type": "VARCHAR",
                    "column-value-selection-strategy": "SelectColumnValue"
                },
                "field":
                {
                    "type": "Label"
                }
            }
        ]
    },

 
 

끝!   읽어주셔서 감사합니다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.