CS
-
[linux] root directory ('/') vs home directory ('~')CS 2022. 7. 3. 16:24
매일 cd / cd ~ 쓰기는 하나 그 차이를 잘 몰랐는데, 미루어왔던 궁금증을 찾아보았다. 1. root directory ('/') : 최상위 디렉토리. $ cd / $ pwd / $ ls ... dev home ... var 2. home directory ('~') : 홈 디렉토리 해당 사용자의 홈 디렉토리로. 루트 사용자의 경우 /root 로, 다른 사용자의 경우 해당 홈 디렉토리로. # cd ~ --root 사용자 # pwd /root $ cd ~ -- test_user 사용자 $ pwd /home/test_user Reference : https://dana-study-log.tistory.com/entry/Linux-리눅스-파일-시스템-구조-루트-디렉토리-홈-디렉토리#here
-
[linux] 사용자 추가 및 권한 조정CS/cheatsheet 2022. 7. 3. 15:30
1. 사용자 추가 $ vi /etc/passwd -- 유저 목록 확인 $ sudo useradd -m test_user $ vi /etc/passwd -- 생성된 유저 확인 $ sudo passwd test_user -- 유저의 비번 만들기 $ ls /home/ {} {} test_user {} $ su test_user -- 유저 변경 [root@{MY_HOST_NAME} irteam]$ su test_user [test_user@{MY_HOST_NAME} irteam]$ cd /home/test_user [test_user@{MY_HOST_NAME} ~]$ pwd /home/test_user [test_user@{MY_HOST_NAME} ~]$ ls -al -- 일부만 발췌 total 12 ... -..
-
jenkins 에서 작업한 파일을 github 연동하기CS 2022. 6. 28. 18:46
1. [jenkins build 설정 > Execute Shell] jenkins에서 작업한 파일을 venv에서 실행하면, jenkins의 workspace에 저장된다. $ source {MY_VENV_DIR}/bin/activate $ pip3 list $ python3 {MY_PYTHON_FILE}.py {MY_JENKINS_WORKSPACE_DIR}/{MY_GIT_DIR} 2. [jenkins docker] jenkins가 있는 docker에서 git push 해준다. $ git branch {MY_NEW_BRANCH} $ git checkout {MY_NEW_BRANCH} $ git branch $ git add {MY_JENKINS_WORKSPACE_DIR}/{MY_GIT_DIR} $ git c..
-
Git 새로운 remote repository 추가CS/git 2022. 6. 27. 11:26
1. 기존 repository 정리 - 다른 branch들 삭제 및 pull & push $ git branch -d develop2 $ git pull origin master $ git add . $ git status $ git commit -m "clean push" $ git push origin master 2. 기존 repository 삭제 $ git remote remove origin $ git remote -v 3. 원하는 directory 로 이동 $ cd {MY_DIR} 4. git init으로 초기화 $ git init Reinitialized existing Git repository in {MY_DIR} .git/ 5. 새로운 repository 연결 $ git remote a..
-
python parameter 매개변수, sh 실행안됨, bash 파일 설정CS/cheatsheet 2022. 6. 17. 14:16
$ sudo chmod +x {file}.sh ## 권한 부여 $ ./{file}.sh ./로 실행해야하는 이유는 기본적으로 보안상때문에 실행 파일을 current directory에서 찾는게 디폴트가 아니라고 한다. 그래서 current directory라고 ./로 명시해주어야 한다. 아래는 예시로 text 파일에 python의 파라미터를 쭉 적어놓았다면 한 줄씩 python 실행할 수 있게 해주는 것이다. #!/bin/bash filename=$1 file=$(cat $filename) for line in $file; do name=$(echo "$line") echo "$name" python3 {YOUR_FILE}.py $name done shell에서 sh 파일 실행 |__for 문으로 돌릴 ..
-
python 실행 vs module 실행/ jupyter notebook 실행 vs shell 실행 self checkCS 2022. 6. 17. 11:34
- python 파일 실행 vs module로 import 실행 파이썬에 argument 입력하고 싶을때 등장하는 것이 if __name__ == “__main__” : print('바로 py파일 실행할때') else : print('import 해서 모듈처럼 사용할때') 그런데 나는 인터프리터에서 사용 vs terminal에서 실행 이 둘을 구별하고 싶은데 그이유는 ipynb 파일에서 예시로 몇개 실행해보고 py로 바꾸기 때문이다. 즉 내가 원하는 두 케이스다 __name__ == “__main__” 로 인식된다. - 인터프리터에서 사용 vs terminal에서 실행 def isnotebook(): try: shell = get_ipython().__class__.__name__ if shell == ..
-
Spark 설치 과정 - hadoop, hive, mariadb 의 관계CS 2022. 6. 12. 16:19
docker에 spark 설치를 위해 다른 것들을 설치하는 과정을 거쳤는데, 어떠한 역할인지 간단 정리해본다. (DS의 관점에서 활용도를 정리) 원래 spark만 설치해도 되는데, hive 와 spark를 연결하고 싶었기 때문이다. (db와 spark 연결) 우선 비구조화된 데이터를 열구조향 데이터로 전환하는 것이 필요한데 이것을 수행하는게 hadoop/spark - hadoop : 대규모 분산시스템을 구축하기 위한 플랫폼. docker에서 여러 node를 만드는데, 이를 연결해주는 역할인 것 같다. - hive: 쿼리 엔진(쿼리를 map reduce 프로그램으로 바꿔줌) 단, 배치 처리 등에 최적화 되어있음. 리소스를 고려하는 대신, 배치 처리에 적합하기 때문에 더 대용량 가능하나, 느림 - mari..
-
Airflow vs. Jenkins vs. cronCS 2022. 6. 6. 17:54
기존에 Python job 자동실행했을 때 cron 사용했었으나, 옆팀 분이 spark submit할때 jenkins 사용하신다는 것을 듣고 jenkins 를 배포해봤는데 생각해보니 cron과 jenkins 차이를 모르고 있던 거 같아 찾아보았다. airflow는 최근에 많이 쓴다고 들어봐서 세개를 간략 비교하면 다음과 같아보인다. - cron : python 코드 스케쥴링 가능 - Jenkins : - log 확인 가능 - 무엇이 running하고 있는지 확인가능 - 스케쥴링 가능 - 깃에 push 했을때 빌드 실행가능 - 각종 배치 작업 관리 - java 기반 - Web UI 제공 - Airflow - 데이터 처리, 추출 ,ML 등 전과정 관리에 쓰이는듯. - DAG(Directed Acyclic G..