Skip to content

[Feat][Spark] Add Neo4j importer #222

[Feat][Spark] Add Neo4j importer

[Feat][Spark] Add Neo4j importer #222

Workflow file for this run

name: GraphAr Spark CI
on:
# Trigger the workflow on push or pull request,
# but only for the main branch
push:
branches:
- main
paths:
- 'spark/**'
- '.github/workflows/spark.yaml'
pull_request:
branches:
- main
paths:
- 'spark/**'
- '.github/workflows/spark.yaml'
concurrency:
group: ${{ github.repository }}-${{ github.event.number || github.head_ref || github.sha }}-${{ github.workflow }}
cancel-in-progress: true
jobs:
GraphAr-spark:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Code Format Check
run: |
export JAVA_HOME=${JAVA_HOME_11_X64}
pushd spark
mvn spotless:check
popd
- name: Build GraphAr Spark
run: |
export JAVA_HOME=${JAVA_HOME_11_X64}
pushd spark
mvn clean package -DskipTests -Dspotless.check.skip=true
popd
- name: Run test
run: |
export JAVA_HOME=${JAVA_HOME_11_X64}
pushd spark
mvn test -Dspotless.check.skip=true
popd
- name: Run Neo4j2GraphAr example
run: |
export JAVA_HOME=${JAVA_HOME_11_X64}
pushd spark
scripts/get-spark-to-home.sh
export SPARK_HOME="${HOME}/spark-3.2.2-bin-hadoop3.2"
export PATH="${SPARK_HOME}/bin":"${PATH}"
scripts/get-neo4j-to-home.sh
export NEO4J_HOME="${HOME}/neo4j-community-4.4.23"
export PATH="${NEO4J_HOME}/bin":"${PATH}"
neo4j-admin set-initial-password neo4j
scripts/deploy-neo4j-movie-data.sh
scripts/build.sh
export NEO4J_USR="neo4j"
export NEO4J_PWD="neo4j"
scripts/run-neo4j2graphar.sh
# clean the movie data and import from GraphAr
echo "match (a) -[r] -> () delete a, r;match (a) delete a;" | cypher-shell -u ${NEO4J_USR} -p ${NEO4J_PWD} -d neo4j --format plain
scripts/run-graphar2neo4j.sh
# stop and clean
neo4j stop
popd
- name: Run Neo4j importer
run: |
export JAVA_HOME=${JAVA_HOME_11_X64}
pushd spark
scripts/get-spark-to-home.sh
export SPARK_HOME="${HOME}/spark-3.2.2-bin-hadoop3.2"
export PATH="${SPARK_HOME}/bin":"${PATH}"
scripts/get-neo4j-to-home.sh
export NEO4J_HOME="${HOME}/neo4j-community-4.4.23"
export PATH="${NEO4J_HOME}/bin":"${PATH}"
neo4j-admin set-initial-password neo4j
scripts/deploy-neo4j-movie-data.sh
scripts/build.sh
export NEO4J_USR="neo4j"
export NEO4J_PWD="neo4j"
# run the importer
cd import
./neo4j.sh neo4j.json
# stop and clean
popd