Spark:生成CSV文件以导入到Neo4j

大约一年前, 伊恩(Ian)向我指向了一个芝加哥犯罪数据集,该数据集似乎非常适合Neo4j,经过长时间的拖延,我终于可以开始导入它了。

该数据集涵盖了从2001年到现在的犯罪。 它包含约400万种犯罪和有关这些犯罪的元数据,例如位置,犯罪类型和年份等。

该文件的内容遵循以下结构:

$ head -n 10 ~/Downloads/Crimes_-_2001_to_present.csv
ID,Case Number,Date,Block,IUCR,Primary Type,Description,Location Description,Arrest,Domestic,Beat,District,Ward,Community Area,FBI Code,X Coordinate,Y Coordinate,Year,Updated On,Latitude,Longitude,Location
9464711,HX114160,01/14/2014 05:00:00 AM,028XX E 80TH ST,0560,ASSAULT,SIMPLE,APARTMENT,false,true,0422,004,7,46,08A,1196652,1852516,2014,01/20/2014 12:40:05 AM,41.75017626412204,-87.55494559131228,"(41.75017626412204, -87.55494559131228)"
9460704,HX113741,01/14/2014 04:55:00 AM,091XX S JEFFERY AVE,031A,ROBBERY,ARMED: HANDGUN,SIDEWALK,false,false,0413,004,8,48,03,1191060,1844959,2014,01/18/2014 12:39:56 AM,41.729576153145636,-87.57568059471686,"(41.729576153145636, -87.57568059471686)"
9460339,HX113740,01/14/2014 04:44:00 AM,040XX W MAYPOLE AVE,1310,CRIMINAL DAMAGE,TO PROPERTY,RESIDENCE,false,true,1114,011,28,26,14,1149075,1901099,2014,01/16/2014 12:40:00 AM,41.884543798701515,-87.72803579358926,"(41.884543798701515, -87.72803579358926)"
9461467,HX114463,01/14/2014 04:43:00 AM,059XX S CICERO AVE,0820,THEFT,$500 AND UNDER,PARKING LOT/GARAGE(NON.RESID.),false,false,0813,008,13,64,06,1145661,1865031,2014,01/16/2014 12:40:00 AM,41.785633535413176,-87.74148516669783,"(41.785633535413176, -87.74148516669783)"
9460355,HX113738,01/14/2014 04:21:00 AM,070XX S PEORIA ST,0820,THEFT,$500 AND UNDER,STREET,true,false,0733,007,17,68,06,1171480,1858195,2014,01/16/2014 12:40:00 AM,41.766348042591375,-87.64702037047671,"(41.766348042591375, -87.64702037047671)"
9461140,HX113909,01/14/2014 03:17:00 AM,016XX W HUBBARD ST,0610,BURGLARY,FORCIBLE ENTRY,COMMERCIAL / BUSINESS OFFICE,false,false,1215,012,27,24,05,1165029,1903111,2014,01/16/2014 12:40:00 AM,41.889741146006095,-87.66939334853973,"(41.889741146006095, -87.66939334853973)"
9460361,HX113731,01/14/2014 03:12:00 AM,022XX S WENTWORTH AVE,0820,THEFT,$500 AND UNDER,CTA TRAIN,false,false,0914,009,25,34,06,1175363,1889525,2014,01/20/2014 12:40:05 AM,41.85223460427207,-87.63185047834335,"(41.85223460427207, -87.63185047834335)"
9461691,HX114506,01/14/2014 03:00:00 AM,087XX S COLFAX AVE,0650,BURGLARY,HOME INVASION,RESIDENCE,false,false,0423,004,7,46,05,1195052,1847362,2014,01/17/2014 12:40:17 AM,41.73607283858007,-87.56097809501115,"(41.73607283858007, -87.56097809501115)"
9461792,HX114824,01/14/2014 03:00:00 AM,012XX S CALIFORNIA BLVD,0810,THEFT,OVER $500,STREET,false,false,1023,010,28,29,06,11579
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将多个CSV文件同时导入Neo4j,可以使用Neo4j的工具包中的neo4j-admin import命令。以下是一些步骤: 1. 准备好要导入CSV文件,确保它们都有相同的列名和列数。例如,如果要导入人和城市的数据,可以准备两个CSV文件:people.csv和cities.csv。 2. 创建一个包含节点和关系的模板文件。该文件应该指定节点和关系的标签和属性。例如,如果要导入一个人和他们所居住城市之间的关系,模板文件可能如下所示: ``` Nodes:Person(name:String, age:Int),City(name:String, population:Long) Edges:LIVES_IN(since:Date) ``` 3. 创建一个包含数据文件名称的文件列表文件。例如,创建一个名为files.txt的文件,其中包含以下内容: ``` /path/to/people.csv /path/to/cities.csv ``` 4. 使用模板文件文件列表和数据文件运行neo4j-admin import命令。例如,可以运行以下命令: ``` neo4j-admin import --nodes=files.txt --database=mydatabase.db --multiline-fields=true --ignore-duplicate-nodes=true --id-type=STRING --quote=DOUBLE --delimiter=, --relationships=LIVES_IN:/path/to/relationships.csv ``` 其中,--nodes指定要导入的节点数据文件列表,--database指定要导入的数据库,--multiline-fields=true指定属性值可能跨越多行,--ignore-duplicate-nodes=true指定如果有重复的节点,那么只导入一次,--id-type=STRING指定节点ID的类型为字符串,--quote=DOUBLE指定使用双引号引用属性值,--delimiter=,指定数据文件中的分隔符为逗号,--relationships指定要导入的关系文件及其类型。 5. 等待导入完成。导入大量数据可能需要一些时间。 以上是一个简单的步骤,但是实际情况可能因为数据的不同而有所不同。因此,建议在执行此操作之前先阅读Neo4j官方文档以获取更多详细信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值