[php] print_r(), var_export() 함수
2022. 7. 11. 22:17
프로그래밍 언어/PHP
php 소스를 분석하다가 print_r(), var_export() 함수가 무엇인지 정리해보려고 한다. print_r() print_f() 함수는 변수에 대한 정보를 사람이 보기 편하게 출력해준다. print_r(mixed $value, bool $return = false): string|bool 예시)
[php] foreach
2022. 7. 11. 22:04
프로그래밍 언어/PHP
PHP 에서 foreach 는 배열의 원소나 객체의 프로퍼티 수 만큼 반복하면 동작한다. foreach 는 다음과 같이 사용할 수 있다. foreach($array as $value) foreach($array as $key => $value) 예를 들어 사용해본다.
Spark SQL function - ifnull(), nullif(), nvl(), nvl2()
2022. 7. 9. 21:39
데이터 엔지니어링/Spark
ifnull(expr1, expr2) : expr1 이 NULL 이면 expr2 반환 ifnull(expr1, expr2) nullif(expr1, expr2) : expr1 과 expr2 가 같으면 NULL, 다르면 expr1 반환 nullif(expr1, expr2) nvl(expr1, expr2) : expr1 이 NULL 이면 expr2 반환 nvl(expr1, expr2) nvl2(expr1, expr2, expr3) : expr1 이 NULL 이 아니면 expr2, NULL 이면 expr3 반환 nvl2(expr1, expr2, expr3)
[php] implode 함수
2022. 7. 8. 20:32
프로그래밍 언어/PHP
implode 함수 implode 함수는 각 배열 요소들을 문자열로 만들어주는 함수다. 다음과 같이 사용할 수 있다. implode(string $separator, array $array): string implode(array $array): string implode(array $array, string $separator): string - php manual https://www.php.net/manual/en/function.implode.php PHP: implode - Manual Sometimes it's necessary to add a string not just between the items, but before or after too, and proper handling of z..
AWS Glue 용어 정리
2022. 5. 29. 18:35
Cloud/AWS
AWS Glue 에서 사용하는 기본적인 용어에 대해서 정리해봤다. AWS 에서 제공해주는 설명서에도 자세히 설명되어있지만 이해가 잘 되지 않는 부분을 보완해서 정리해봤다. 데이터 카탈로그 - AWS Glue Data Catalog AWS Glue의 영구적 메타데이터 스토어입니다. 테이블 정의, 작업 정의 및 기타 관리 정보를 포함하여 AWS Glue 환경을 관리합니다. 각 AWS 계정에는 리전당 AWS Glue Data Catalog 하나가 있습니다. 리전당 하나씩 만들게 만든 이유는 아마 한 곳에서 통합해 데이터를 관리하기 위함이라고 생각하면 될 것 같다. 간단하게 AWS Glue 에서 사용하기 위한 메타데이터를 저장하기 위한 저장소라고 생각하면 된다. 데이터베이스 - Database 논리 그룹으로 구..
AWS Glue 아키텍처
2022. 5. 29. 18:19
Cloud/AWS
AWS Glue 가 무엇인지에 대해서 간단하게 알아봤다면 이번에는 AWS Glue 가 어떻게 구성되어 있고 어떻게 동작하는지에 대해서 정리해보려고 한다. AWS 에서 AWS Glue 의 아키텍처를 간단한 다이어그램을 통해 이해하기 쉽게 설명하고 있다. (그림을 너무 대충..) AWS 에서 예를 들어준 다이어그램에 대해서 정리해봤다. AWS Glue 는 데이터 스토어의 데이터를 크롤러를 통해 메타데이터를 가져와 데이터 카탈로그에 저장한다. 또는 데이터 카탈로그의 객체인 연결(Connection) 에 데이터 스토어의 연결 정보를 객체로 저장해놓고 크롤러를 통해 데이터 카탈로그에 저장할 수 있다. 이렇게 2가지 방법을 통해 데이터 카탈로그에 메타데이터를 저장할 수 있다. Data Store → Crawler ..
AWS Glue 개념 정리
2022. 5. 29. 17:48
Cloud/AWS
정리하기 앞서, 이번 글에서는 AWS Glue 에 대한 자세한 내용보다는 AWS Glue 가 무엇이고 어떤 특징을 가지고 있고 언제 사용하면 좋은지에 대한 맛보기에 가깝다고 생각하면 된다. AWS Glue 가 뭐지? AWS Glue 는 간단하게 ETL 서비스라고 할 수 있는데 ETL 서비스에 대해서 이해하고 있다면 보다 쉽게 AWS Glue 에 대해 이해할 수 있고 Data Warehouse 의 개념이나 구조에 대해서도 어느 정도 이해가 있으면 좋다고 생각한다. AWS 에서는 다음과 같이 AWS Glue 에 대해서 정의하고 있다. "완전 관리형 추출(Extract), 변환(Transform), 저장(Load) ETL 서비스" 추출하고 변환해서 다시 저장하는 ETL 서비스를 완전히 AWS Glue 를 통해..
리눅스 디렉토리 안의 대량 파일 삭제하기
2022. 5. 3. 20:52
리눅스/Linux
리눅스에서 여러 디렉토리에 대량의 파일이 쌓여 삭제해야할 때 적지 않은 시간이 걸리는 것을 확인할 수 있었다. 그래서 어떻게 하면 더 빠르게 대량의 파일들을 삭제할 수 있는 방법이 없을까 찾아보았다. $ rsync 그래서 찾은 명령어가 rsync 명령어다. 보통 rsync 명령어를 통해 특정 디렉토리를 백업할 때 사용하거나 동기화 시킬때 주로 사용하곤 한다. rsync 라는 명령어를 사용해서 대량의 파일들을 삭제하는 방법을 보게 되었는데 얼마나 빠른지 직접 사용해보고 시간을 재보았다. 아, 우선 rsync 를 사용해 대량의 파일들을 삭제하는 방법으로 비어있는 디렉토리를 생성하고 대량의 파일들이 들어있는 디렉토리를 비어있는 디렉토리에 동기화 시키는 것이다. 그럼 대량의 파일들이 들어있는 디렉토리가 비어있는..