그래프 데이터베이스용 ETL 제품 개발을 위해 Neo4j ETL 제품을 탐색합니다.
Neo4j Desktop
Neo4j ETL 확장 프로그램을 수행시키기 위한 메인 화면
Neo4j ETL
STEP1. Datasource 선택
STEP2. Mapping 생성
STEP3. 설정 확인 및 Import Option 선택
STEP4. Import 수행
Neo4j Browser
임포트 된 데이터 확인
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
- SELECT
- 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"
}
}
]
},
끝! 읽어주셔서 감사합니다.