Data Engineering12 [Linux] Windows에서 Ubuntu Linux 설치 이번 글에서는 Windows에서 Ubuntu Linux를 설치하는 방법에 대해 살펴보겠습니다. 저번에 Windows에 Docker를 설치하면서 linux가 같이 설치된 줄 알았는데, 설치가 되지 않아 진행하게 되었습니다. 우선 Windows의 Microsoft Store에서 'ubuntu'를 검색합니다. 가장 앞에 보이는 것을 설치해 주면 됩니다. 설치를 완료하고 Windows의 검색 창에서 ubuntu를 실행하면, 설치가 진행됩니다. 몇초 후에 사용할 username과 password를 입력하라고 나오면 차례대로 입력하면 설치가 완료됩니다. 위의 사진에서 확인할 수 있듯이 바로 Ubuntu가 실행되었지만, cmd 창에서 확인해보도록 하겠습니다. wsl 명령어를 통해 Ubuntu가 잘 설치된 것을 확인할.. 2023. 11. 9. [Airflow] Airflow Timeout 설정 이번 글에서는 Airflow에서 Timeout을 설정하는 방법에 대해 간단하게 살펴보고자 합니다. 지난 MLflow Timeout 오류 관련 글을 작성하면서, Airflow에서도 비슷한 경험을 겪었던 것이 생각나 작성하게 되었습니다. 우선 Airflow에 대해 간략하게 설명하면, airbnb에서 만든 워크플로우 관리 툴로 대표적인 스케쥴링 툴 중의 하나입니다. 저 역시도 실무에서 AI 모델 학습과 추론 과정에서 스케쥴링 툴로 사용하고 있습니다. Airflow의 기본적인 Dag 구조는 다음과 같습니다. with DAG (dag_id='test', schedule=None) as dag: t1 = BashOperator( task_id='hello', bash_command='echo "hello"' ) t.. 2023. 10. 19. [AWS] Python에서 AWS S3에 파일, 폴더 업로드/다운로드 이번 글에서는 Python에서 AWS S3에 파일 및 폴더를 업로드하거나 다운로드하는 방법에 대해 살펴보고자 합니다. Python에서는 boto3 패키지를 통해 S3에 파일을 업로드 및 다운로드를 손쉽게 할 수 있습니다. boto3 패키지는 Python용 AWS SDK로, S3 외에도 다른 AWS 서비스와 통합하는 것이 가능합니다. 우선 파일 업로드부터 살펴보겠습니다. 먼저 Python에 boto3 패키지를 설치하고, import 해줍니다. 다음으로는 AWS S3 access key 정보와 Bucket 명을 입력하는 것을 통해 S3 내의 Bucket과 연결해 줍니다. 마지막으로 upload_file 함수에 1) 첫 인자에는 업로드하고자 하는 파일이 위치한 경로, 2) 두 번째 인자에는 Bucket 내에 .. 2023. 10. 17. [PySpark] PySpark 기본 예제 지난 글에서는 PySpark를 설치하고 Pycharm과 연동하는 것까지 살펴보았습니다. 이번 글에서는 간단하게 예제 데이터를 생성하고, 해당 데이터를 다뤄보는 것을 통해 PySpark의 간단한 사용법을 파악하고자 합니다. from pyspark.sql import SparkSession # 스파크 세션 생성 spark = SparkSession.builder.master("local").appName("SparkSQL").getOrCreate() # 로그 레벨 정의 spark.sparkContext.setLogLevel("ERROR") 우선 spark 세션을 생성하고 로그 레벨을 정의해줍니다. 로그 레벨을 정의하는 것은 필수는 아니지만, 많은 로그가 나올 경우 필요한 로그를 확인하기 어려울 수 있습니다... 2022. 10. 21. [PySpark] PySpark 설치하기 본 글에서는 PySpark를 설치하는 과정을 다루고자 합니다. PySpark를 간단하게 설명하자면 Spark용 Python API의 일종으로, Python에서의 대규모 데이터 처리를 보다 효율적으로 수행할 수 있는 도구입니다. PySpark의 설치 과정은 https://koddol016.tistory.com/6에 있는 글을 참고하여 진행하였습니다. 1. Java 및 Python 설치 우선 아래의 첫 번째 링크에서 Java를 설치합니다. 로그인을 해야 설치가 가능하므로, oracle 계정을 생성해야 합니다. 이후 Python을 설치하면 됩니다. 현재는 3.10 버전까지 나온 것으로 알고 있으나, 혹시 모를 버전 호환 문제 때문에 위의 참고한 글을 따라서 3.8 버전을 설치하였습니다. link (1): ht.. 2022. 10. 21. [Linux] 문자열 분리 (Split string) - awk, split 이번 글에서는 Linux 상에서 특정 패턴으로 문자열을 분리하는 방법에 관해 살펴보고자 합니다. 우선 사용한 명령어부터 확인하면, 'awk'와 awk 내의 'split'입니다. awk는 해당 명령어를 개발한 사람들의 이니셜을 조합하여 만든 것이기 때문에, awk를 보고 어떤 명령어인지 떠올리는 것은 어렵습니다(Aho + Weinberger + Kernighan). awk는 입력된 파일로부터 데이터를 분류한 이후, 분류된 텍스트 데이터를 바탕으로 전처리 및 연산, 패턴 매칭 여부 검사 등의 과정을 진행하고, 결과를 출력하는 기능을 수행합니다[1]. 이번 글에서는 처음에 언급한 것처럼 awk의 문자열 분리 기능에 대해서만 살펴보려합니다. 수행하고자 했던 업무는 shell 파일을 실행할 때, 'dm_test... 2022. 10. 11. [Linux] bash_profile 시스템 환경변수 등록 bash_profile이란 환경 변수와 bash가 수행될 때 실행되는 프로그램을 제어하는 지역적인 시스템 설정과 관련된 파일입니다. 설정된 변수나 경로들은 오직 해당 계정에만 한정되며, 그 외의 계정에는 영향을 미치지 않습니다[1]. 간단하게 말하면, 특정 Linux계정에서 자주 사용하는 변수나 명령어들을 미리 지정해놓고, 로그인할 때 자동으로 설정해주는 파일이라고 생각해주시면 됩니다. 추가 방법은 다음과 같습니다. (코드가 먼저 나오고, 설명이 아래에 나옵니다.) (base) [root@server /]# cd 우선 홈경로로 이동합니다. (base) [root@server ~]# vi .bash_profile # .bash_profile # Get the aliases and functions if [.. 2022. 10. 7. [Linux] 자주 사용하는 명령어 정리 최근 Linux에 입문하고 기초적인 것들만 수행하고 있기 때문에 사용했던 명령어들이 많지는 않지만, 그래도 자주 사용했던 명령어들 위주로 정리를 해보려 합니다. 명령어 정리는 https://shanepark.tistory.com/196 블로그를 주로 참고하여 작성하였습니다. cd (Change Directory) : 경로 이동 명령어 cd {directory name} : 해당 디렉토리로 이동 cd ../ : 상위 폴더 디렉토리로 이동 cd / : 절대 경로로 이동 ls (List segments) : 파일 목록 조회 명령어 ls : 현재 디렉토리 파일 목록 조회 ls {directory} : 해당 디렉토리 파일 목록 조회 ll : 현재 디렉토리 파일 목록의 구체적인 정보 조회 cat (Concatena.. 2022. 8. 25. [Linux] Linux에서 Python 파일 생성 및 실행 이번 글에서는 Linux 상에서 Python 파일을 생성하고 실행하는 방법에 대해 살펴보고자 합니다. Python 실행하는 방법은 주로 해당 블로그(https://angliss.cc/making-pyfile-at-linux/)를 참고하였습니다. Python 파일을 생성하는 방법은 간단합니다. 아래의 코드와 같이 vi 편집기를 활용하면 됩니다. (base) [ec2-user@00 test]$ vi test.py 실행시키고자 하는 Python 코드를 아래와 같이 입력하면 되며, 코드 최상단에 '#!/usr/bin/python3'이라는 shebang을 입력해도 되고, 입력하지 않아도 실행시키는 것이 가능합니다. #!/usr/bin/python3 print('Hello World!') shebang이 입력되어있.. 2022. 8. 23. [AWS] Jupyter Notebook 설치 및 실행 저번 글에서는 AWS EC2 상에서 원하는 Python3 버전을 설치하는 방법에 대해서 살펴봤습니다. 본 글에서는 Anaconda를 통해 Jupyter notebook 설치 및 실행까지 설명하도록 하겠습니다. AWS EC2 상에서 Anaconda 및 가상환경을 생성하는 방법은 https://coding-nurse.tistory.com/226에 자세하게 설명되어 있습니다. Linux를 거의 처음 접하는 저도 쉽고 오류없이 설치하였으므로, 글을 읽으시는 분들도 큰 문제없이 Anaconda 설치를 완료하실 수 있을 것입니다. 저는 ec2-user 계정을 통해 모든 과정을 진행하였습니다. 우선 Jupyter Notebook 설정 파일을 생성합니다. 아래의 코드를 실행하면 결과로 경로도 함께 나오게 되는데, 해당.. 2022. 8. 2. 이전 1 2 다음