MongoDB와 metabase에서 json 파일을 쉽게 볼 수 있기를 바랍니다.

5029 단어 JSONMetabaseMongoDB
이 기사는 니프티 그룹 Advent Calendar 2018 둘째 날 기사입니다.
1일째는 @winterwind씨의 S3에 이미지가 저장되면 자동으로 Amazon Rekognition 이미지 분석을 실행합니다.이었습니다.

수중에 게임의 전적 데이터가 들어간 json이 있습니다만, 상당히 복잡하고 1개 1개의 데이터가 크고 보통 퍼스하는 것도 조금 번거로운 느낌입니다.
본고는, 그런 느낌의 json를 좋은 느낌으로 가시화해 보려고 시도한 기사입니다.

한 일로
  • MongoDB에 JSON 데이터를 넣습니다
  • metabase (htps //w w. 메타바세. 코m/)와 MongoDB를 연계합니다.
  • 라는 것을 Docker상에서 완결시킨다

  • 같은 간지입니다. 상당히 쉽게 할 수 있습니다.

    시작할 때까지


  • docker hub에서 MongoDB의 이미지를 pull
  • $ docker pull mongo
    

    2. metabase 이미지도 pull한다
    $ docker pull metabase/metabase
    

    3.docker-compose.yml 작성

    docker-compose.yml
    version: "2"
    services:
      metabase:
        container_name: "metabase"
        image: metabase/metabase
        ports:
          - "3000:3000"
      db:
        container_name: "mongo"
        image: mongo
        ports:
          - "27017:27017"
        volumes:
          - ./:/tmp
    

    mongo의 volumes는, 호스트측에는 자신이 mongo에 붙어 싶은 json 파일이 있는 디렉토리를 지정해,
    컨테이너 측에는 우선 tmp를 지정했습니다.
    IPASS는 로컬이므로 우선 없음.

    4. 컨테이너를 시작
    $ docker-compose up
    

    이제 환경이 완성되었습니다. 매우 간단. Docker는 훌륭하네요・・・・・・.
    이제 백그라운드에서 MongoDB 컨테이너가 시작된 상태가 됩니다.

    컨테이너 안으로 들어가다


    $ docker exec -it mongo /bin/bash
    # cd tmp
    # ls
    hoge.json
    

    컨테이너 시작시 지정한 디렉토리로 이동하여 ls하면 로컬 측 파일이 있는지 확인할 수 있어야합니다.

    json 파일 붙잡기


    mongoimport 명령으로 json 파일을 가져올 수 있습니다.
    mongoimport --db db_name --collection collection_name --type json --file hoge.json 
    

    db_name과 collection_name은 원하는 이름을 붙입니다.
    collection이라고 하는 것은 MySQL등에서 말하는 곳의 테이블입니다.
    특히 DB 테이블을 작성하는 조작이 없어도 insert 할 수 있었습니다.

    내용 확인


    mongo를 입력하면 mongo 명령 줄이 시작됩니다.
    # mongo
    MongoDB shell version v4.0.4
    connecting to: mongodb://127.0.0.1:27017
    後略
    ---
    
    > use db_name
    switched to db db_name
    > db.collection_name.find()
    # 結果が出る
    

    metabase 설정하기



    이름, 이메일 주소 등은 원하는 것을 입력합니다. DB 추가 부분은 다음과 같이 설정.
  • 이름
  • dashbord에서 쉽게 찾을 수있는 이름

  • 호스트
  • MongoDB 컨테이너의 이름. 위의 yml이라고 "mongo"로하고 있습니다.

  • 포트
  • yml에 기술한 값. 위와 27017

  • 데이터베이스 이름
  • JSON을 삽입했을 때 붙인 DB의 이름을 설정합니다.


  • 아마 이것으로 metabase측에서 DB의 정보가 적당히 그래프화 되거나 할 것.


    쿼리를 작성하지 않아도 간단한 그래프를 만들어주는 것은 꽤 편리하네요.
    이런 느낌으로 비교적 심플한 순서로 복잡한 json이 만지기 쉽고, 가시화하기 쉬운 상태가 되었습니다.

    후편 에 계속합니다.

    참고문헌



    h tps://오페-g로오ょぇ. 네 t / 몽고 db / 몽고 db
    htps : // 이 m / 고등어 1024 / ms / f2 아 d56f2 아 3 바 7 아 f8521

    3일째는 @machinanette씨의 「산타의 장난감을 micro:bit로 제어한다」입니다!

    좋은 웹페이지 즐겨찾기