본문 바로가기
728x90

MySQL22

[Python] re 모듈, 정규 표현식(정규식) 개념과 완전 정복하기(regex cheat sheet) SQL, HIVE, PySpark에서의 regex 이번 포스트에서는 정규표현식의 개념과, python에서 정규표현식을 지원하는 re 모듈에 대해서 정리하겠습니다. 1. 정규 표현식이란? 정규 표현식(Regular Expressions)은 복잡한 문자열을 처리할 때 사용하는 기법으로, 파이썬만의 고유 문법이 아니라 문자열을 처리하는 모든 곳에서 사용, 정규식이라고도 부름 2. 정규 표현식의 기초, 메타 문자 ※ 메타 문자란 원래 그 문자가 가진 뜻이 아닌 특별한 용도로 사용하는 문자 . ^ $ * + ? { } [ ] \ | ( ) 1) 문자 클래스 [ ] 문자 클래스로 만들어진 정규식은 '[ ] 사이의 문자들과 매치'를 의미 예를 들어, 정규 표현식 [abc] 는 'a, b, c 중 한 개의 문자와 매치'를 뜻함 즉, 어떠한 문자열에("defg") 위의.. 2022. 4. 9.
[Project] ETL Daily batch project(공공데이터 코로나 API, Python, PySpark, Airflow, AWS) 4. EC2 서버 생성 및 pyspark, airflow,MySQL 설치 이번 포스트에는 EC2서버 환경을 구성하고, spark, airflow를 설치하여 이미지로 저장하겠습니다. 어떤 프로젝트인지 잘 모르시는 분은 아래의 링크를 참고해주세요. 2022.02.17 - [BigData/Project] - [Project] ETL Daily batch project(공공데이터 코로나 API, Python, PySpark, Airflow, AWS) 1. 프로젝트 개요 1. EC2서버 띄우기 1) EC2생성 및 Ubuntu Server 20.04 LTS를 선택합니다. 2) 인스턴스 타입 선택 현재 airflow 및 pyspark를 한 곳에서 돌리는 구조기 때문에, 적당한 크기의 t2.large타입을 선택합니다. 3) public ip 부여 및 IAM role 부여 public IP를.. 2022. 2. 17.
[Project] ETL Daily batch project(공공데이터 코로나 API, Python, PySpark, Airflow, AWS) 3. ETL python 파일 만들기 이번 포스트는 공공데이터 코로나 API를 request로 받아 bs4로 lxml로 변환 후 pyspark를 이용해 데이터 처리를 해보겠습니다. 어떤 프로젝트인지 잘 모르시는 분은 아래의 링크를 참고해주세요. 2022.02.17 - [BigData/Project] - [Project] ETL Daily batch project(공공데이터 코로나 API, Python, PySpark, Airflow, AWS) 1. 프로젝트 개요 1. 공공데이터 API를 REST하게 받아오기 코로나감염현황 API를 불러오기 위해서는 해당 url과 일반 인증키가 필요합니다.(일반 인증키는 자신의 계정 마이페이지 활용 신청된 페이지에서 확인하실 수 있습니다.) 또한 startCreateDT, endCreateDT 매개변수를 채워.. 2022. 2. 17.
[Airflow] Airflow 설치 + mysql로 DB지정하기 +서비스(데몬으로) 등록하기 1. Apache Airflow 설치 1) AIRFLOW 설치 및 부가적으로 필요한 패키지 설치 sudo apt-get update sudo apt install python3-pip 2) 부가적으로 필요한 패키지 설치 pip3 install cryptography psycopg2-binary boto3 botocore sudo apt install libmysqlclient-dev -y pip3 install mysqlclient 3) airflow 설치 pip3 install apache-airflow 설치하고 나면 /home/호스트/.local/bin 디렉토리에 관련된 파일들이 저장됨 cd ~ nano .profile export AIRFLOW_HOME=/home/호스트/airflow 2. sqli.. 2022. 2. 10.
[python] python으로 MYSQL 연결하기(windows) with odbc, mysql-connector-python 1. mysql-connector-python 1) mysql-connector-python library 설치 pip install mysql-connector-python 2) mysql 연결 미리 만들어 둔 mysql DB의 정보를 mysql connection 객체에 담는다 import mysql.connector mydb = mysql.connector.connect( host="ip주소", user="계정 아이디", passwd="계정 비밀번호", database="생성한 DB이름" ) 3) 데이터 조회해보기 def select_all(): #조회 함수생성 cur = mydb.cursor() #커서 객체생성 sql ='''SELECT * FROM DB.Table명''' #조회 SQL cur.e.. 2022. 1. 20.
[Docker] docker MySQL, postgreSQL 실행해보기 이번 포스트에는 docker를 이용하여 MySQL container, PostgreSQL를 생성,실행 및 간단하게 기능을 사용해 보겠습니다. 도커 환경 설치에 대해 모르신다면 아래의 링크를 참조 https://spidyweb.tistory.com/277 [Linux] Docker란? ubuntu 18.04 에서 도커 설치하기, centos-7 에서 도커 설치하기 이번 포스트에는 docker에 대해 설명하고, ubuntu와 centos에 설치해보도록 하겠습니다. 1. Docker란 Docker는 응용 프로그램들을 소프트웨어 컨테이너 안에 배치시키는 일을 자동화하는 오픈 소스 프로 spidyweb.tistory.com 도커 이미지, 컨테이너 개념에 대해 모르신다면 아래의 링크를 참조 https://spidy.. 2021. 8. 26.
[Linux] ubuntu 18.04에 MySQL, PostgreSQL 설치하기 1.MySQL 설치 1) apt-get update sudo apt-get update 2) MySQL server 설치 sudo apt-get install mysql-server 3) mysql 실행하기 sudo systemctl start mysql #시작할때 자동으로 mysql실행하기 sudo systemctl enable mysql 4) mysql 프롬프트 접속 sudo /usr/bin/mysql -u root -p -mysql에 접속할때 root 계정에 패스워드 없이 접속했고, root 계정에 패스워드를 추가해 보겠습니다. -패스워드를 변경하는 쿼리는 mysql 버전별로 조금 다르기 때문에 버전을 먼저 확인해 보겠습니다. 5)버전 확인 SHOW VARIABLES LIKE '%version%';.. 2021. 6. 26.
[Hive] virtual box linux [ubuntu 18.04]에 Hive Metastore Mysql로 설정하기(변경하기) 이번 포스트에는 저번에 설치한 Hive의 MetaStore Embedded MetaStore인 derbyDB에서 이번포스트에는 local MetaStore인 MySQL, 다음 포스트에는 PostgreSQL로 각각 변경해보고 확인해보겠습니다. vritualbox 설치,ubuntu설치, ssh통신, hadoop 설치가 완료 되지 않으신 분은 아래의 URL을 참고하여 완료해 주세요. 1.virtualbox 설치 및 ubuntu 설치 spidyweb.tistory.com/212?category=842040 [Hadoop] virtual box linux [ubuntu 18.04]에 하둡 설치,다운로드 1.virtualbox에 ubuntu 설치하기 1.virtual box를 다운로드한다. www.virtualbo.. 2021. 6. 26.
[DataBase] MySQL Index 1 (B-tree index) 인덱스(index) -인덱스는 데이터의 저장(INSERT,UPDATE,DELETE)의 성능을 희생하는 대신에, 데이터의 읽기(SELECT)속도를 높이는 기능이다. -MySQL에서는 B-TREE 알고리즘 HASH 알고리즘, FRACTAL-TREE알고리즘 및 R-TREE알고리즘이있다. 1)B-Tree 알고리즘: 가장 일반적으로 사용되는 알고리즘으로 컬럼을 변형하지 않고, 원래의 값을 이용해 인덱싱하는 알고리즘 2)Hash 알고리즘: 컬럼의 값으로 해시 값을 인덱싱하는 알고리즘으로 매우 빠른 검색을 지원. 값을 변형해서 인덱싱하므로 전방일치와 같이 값의 일부만 검색하고자 할 때는 인덱스를 사용할 수 없다. B-Tree Index -B-Tree 인덱스는 가장 범용적인 목적으로 사용되는 인덱스 -최상위에 하나의 .. 2021. 1. 18.
728x90