cancel
Showing results for 
Search instead for 
Did you mean: 

Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.

Neo4j Kubernetes locally load CSV - Couldn't load the external source

Hey! I have asked this same question in the other topic but I suppose replies to other topics are not as visible as a standalone question and I am kind of lost here.

I am running a locally deployed Kubernetes Neo4j cluster with 3 cores and 3 replicas. I copied my .csv files with docker cp command to /var/lib/neo4j/import inside of core 0 docker container. Then I go to the CLI and start cypher-shell:

> pwd         
/var/lib/neo4j/import # the import folder
> ls
USAir_edges.csv  USAir_nodes.csv # so my files are here
> cypher-shell
Connected to Neo4j 4.2.0 at neo4j://localhost:7687.
Type :help for a list of available commands or :exit to exit the shell.
Note that Cypher queries must end with a semicolon.
@neo4j> load csv with headers from 'file:///USAir_nodes.csv' as row
        create (n:Node {id: toInteger(row.id)});
# the error I get:
Couldn't load the external resource at: file:/var/lib/neo4j/import/USAir_nodes.csv

I do not quite get why it can't be loaded and why the resource is "external" in this case.. Could you take a look at the issue please?

1 REPLY 1

I did manage to load the data to my Kubernetes cluster after all:

  1. Go to the config file (I have it at /var/lib/neo4j/conf)
  2. Add following line (if not present😞
dbms.security.allow_csv_import_from_file_urls=true
  1. Put .csv files to GitHub repository (or any other accessible server location)
  2. Do all the same things as above in the question but give a URL pointing at file instead of a file:/// location:
> cypher-shell
Connected to Neo4j 4.2.0 at neo4j://localhost:7687.
Type :help for a list of available commands or :exit to exit the shell.
Note that Cypher queries must end with a semicolon.
@neo4j> load csv with headers from 'https://my-content-url.com/USAir_nodes.csv' as row
        create (n:Node {id: toInteger(row.id)});
# Added 332 nodes, Set 332 properties, Added 332 labels