Lifelong Study
close
프로필 배경
프로필 로고

Lifelong Study

  • 분류 전체보기 (525)
    • Database (227)
      • Oracle SQL (43)
      • Oracle SQL2 (16)
      • Oracle PLSQL (26)
      • Oracle Admin(9i) (13)
      • Oracle tuning (12)
      • Oracle 백업 복구 (0)
      • Oracle Tip (14)
      • mysql (50)
      • mysql tip (21)
      • mysql procedure, function (7)
      • MS Sql (4)
      • DB2 (0)
      • HANA (0)
      • Tibero (0)
      • Altibase (0)
      • Cubrid (0)
      • Informix (0)
      • PostgreSQL (0)
      • MariaDB (2)
      • sqlite (0)
      • HSQL(HyperSQL) (0)
      • ANSI SQL (9)
      • Sybase (0)
      • 대용량DB (8)
      • Apache Derby (0)
      • Vertica (1)
      • 기타 (1)
    • DB GUI Tool (12)
      • DataGrip (1)
      • Plsql developer (1)
      • Sql developer (0)
      • SQLYog (0)
      • Toad For Oracle (0)
      • Toad For Mysql (2)
      • Toad For Sql Sever (0)
      • Orange (1)
      • Erwin (0)
      • SQLGate (0)
      • Mysql Workbench (6)
      • Mysql-front (0)
      • phpMyadmin (0)
      • heidisql (0)
      • navicat (0)
      • SmartSQL (0)
      • DBA Master (0)
      • Golden (0)
      • OraSqler (0)
      • dbeaver (1)
    • DB Migration Tool (1)
      • Flyway (1)
    • NoSQL (33)
      • 개요 (4)
      • redis (14)
      • MongoDB (14)
      • Cassandra (1)
      • Couchbase (0)
    • NoSQL GUI Tool (2)
      • P3X for redis (0)
      • Redis Desktop Manager (0)
      • Medis for redis (1)
      • Studio 3T for MongoDB (1)
    • CDC (1)
      • Debezium (1)
    • AWS (20)
      • AWS - 일반 (0)
      • AWS - IAM (4)
      • AWS - EC2(Elastic Compute C.. (3)
      • AWS - RDS (1)
      • AWS - S3 (1)
      • AWS - CloudWatch (1)
      • AWS - Lambda (0)
      • AWS - CloudFront (1)
      • AWS - DynamoDB (0)
      • AWS - API Gateway (0)
      • AWS - CodeBase, CodeCommit,.. (1)
      • AWS - CLI (7)
      • AWS - Route 53 (0)
      • AWS - X-Ray (0)
      • AWS - KMS (0)
      • AWS - Elastic Beanstalk (0)
      • AWS - SQS & SNS & SES (1)
      • AWS - ECS & ECR (0)
      • AWS - CloudFormation (0)
      • AWS - ElastiCache (0)
      • AWS - EMR (0)
      • AWS - RedShift (0)
      • AWS - EKS(Elastic Kubernete.. (0)
      • AWS - EventBridge (0)
    • Elastic Stack (29)
      • ElasticSearch (27)
      • kibana (0)
      • logstash (2)
      • 로그수집 (0)
    • Big Data (78)
      • 빅데이터 (36)
      • 데이터 분석 (6)
      • Lucene (4)
      • Hadoop (7)
      • Apache Spark (17)
      • Apache Hive (5)
      • Greenplum (0)
      • Cloudera (3)
      • Trino (0)
      • Presto (0)
      • Apache Drill (0)
      • Apache Impala (0)
      • Apache Zeppelin (0)
    • BI 툴 (0)
      • superset (0)
      • Metabase (0)
      • Redash (0)
      • etc BI (0)
    • Infra (1)
      • domain, hosting (1)
    • 협업툴 (21)
      • jira (17)
      • confluence (3)
      • slack (0)
      • teams (1)
      • webex (0)
    • 엑셀 (91)
      • 엑셀 일반 (22)
      • 엑셀 함수 (36)
      • 엑셀 날짜,시간 (0)
      • 엑셀 필터,정렬 (0)
      • 엑셀 집계,피벗 (0)
      • 엑셀 차트 (5)
      • 엑셀 서식 (10)
      • 엑셀 VBA (5)
      • 엑셀 TIP (13)
    • Office Tool (4)
      • MS Word (0)
      • PowerPoint (0)
      • Outlook (4)
      • MS Access (0)
      • MS OneNote (0)
      • 아래아 한글 (0)
      • ohter (0)
    • Design (1)
      • Photoshop (1)
      • Flash (0)
      • Illustrator (0)
    • Media (1)
      • Vegas Pro (0)
      • Adobe premiere (0)
      • 3D MAX (1)
    • 유용한 프로그램 (2)
    • 기타 (1)
  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록
[Hive] Shell Script에서 외부에서 하이브 테이블 가져오기

[Hive] Shell Script에서 외부에서 하이브 테이블 가져오기

Shell Script에서 외부 하이브 테이블 가져오는 방법 외부에서 하이브 테이블 가져오기 (외부) 하이브 테이블 데이터 복사 (내부) 하이브 테이블 생성 (내부) 데이터 하이브 테이블로 로드(Load) 쉘(shell)에서 데이터를 덤프, 테이블 생성, 로드 까지 하는 방법 스크립트 스크립트에서 첫번째로 hadoop distcp를 이용해서 데이터를 덤프해 오자. cat을 이용해서 하이브 쿼리를 특정 디렉토리의 .hql을 생성 .hql의 파일을 hive -f를 통해서 실행 위 과정에서 Hive 쿼리를 직접 입력하지 않고, hql을 생성한 이유는 이후에 스크립트에서가 아닌 스크립트 내에 있는 여러 쿼리들 중에서 하나만 실행하고 싶을때 사용하면 좋다. 또한 cat을 이용하는 이유는 하이브 쿼리를 순수하게 그..

  • format_list_bulleted Big Data/Apache Hive
  • · 2021. 5. 6.
  • textsms
하이브(Hive) 랜덤 샘플링(Random Sampling), Shuffling(셔플링)

하이브(Hive) 랜덤 샘플링(Random Sampling), Shuffling(셔플링)

하이브에서 랜덤 샘플링 하는 방법 (셔플링) 하이브에서 수백만 수천만의 행이 있다고 생각을 해보자, 효율적으로 고정된 숫자를 임의로 샘플링을 하고 싶다면, 어떻게 효율적으로 할 수 있을까? 하지만, 동일한 방법으로 1000개를 가져오는 쿼리를 수행하면 같은 데이터가 샘플링이 된다. order by sql select * from my_table order by rand() limit 1000; 그렇다면, 임의로 정렬을 한뒤에 샘플링을 하면 어떨까? 아래와 같이 샘플링을 하면, 임의로 데이터를 정렬을 한 뒤에 1000개를 추출하기 때문에 매번 다른 결과를 준다. sort by sql select * from my_table sort by rand() limit 1000; 하지만 하이브에서는 데이터의 양이 ..

  • format_list_bulleted Big Data/Apache Hive
  • · 2021. 5. 6.
  • textsms
하이브(Hive) 조인(Join) 성능 올리기

하이브(Hive) 조인(Join) 성능 올리기

하이브(Hive) 테이블 join 성능 올리기, 최적화, 튜닝하는 방법 들어가며 하이브에서 테이블 조인의 성능을 올리기 위해서는 다양한 방법이 있지만, 크게 두가지 방법에 대해서 설명을 한다. 하이브에서 큰 두개의 테이블을 만약 그냥 조인을 한다면 쿼리를 날리고 다음 날 아침에 와도, 쿼리는 동작하고 있을 것이다. 두개의 테이블을 조인을 해보자 두개의 테이블을 조인을 하기 전에, 각 테이블의 성격을 알아야 한다. 한개의 테이블의 metadata의 성격이 있는 테이블, 즉 작은 테이블의 사이즈라면, 해당 테이블을 메모리에 올린 이후에, 조인을 하면 성능이 올라갈 것이고, 두 테이블이 너무 커서 메모리에 올리기 어렵다면, 조인할 키를 뭉탱이로 뭉쳐서 뭉탱이 끼리 조인을 하면 빠르게 할 수 있다. Map-Si..

  • format_list_bulleted Big Data/Apache Hive
  • · 2021. 5. 6.
  • textsms
하이브(Hive) 테이블 클러스터간 복사

하이브(Hive) 테이블 클러스터간 복사

하이브(Hive) 테이블 클러스터간 복사하기 두개의 클러스터(Cluster) A, B가 있다고 가정하고, A에서 B로 하이브 테이블을 복사하는 방법에 대해서 설명한다. 순서 [A]에서 [A]의 HDFS로 테이블 export [A]에서 [B]의 HDFS로 데이터 copy [B]의 HDFS에서 Hive로 데이터 import 코드 --export export table DB.table_name to 'hdfs://A:8020/data/import/table_name' --distcp hadoop distcp hdfs://A:8020/data/import/table_name hdfs://B:8020/data/import/table_name --import import external table DB.table_..

  • format_list_bulleted Big Data/Apache Hive
  • · 2021. 5. 6.
  • textsms
하이브(Hive) 테이블 생성

하이브(Hive) 테이블 생성

하이브(Hive) 테이블 생성 하이브 테이블이 만약 textfile로 되어 있다면, 테이블을 load하거나, hue에서 테이블을 로딩할때 에러가 발생하는 경우가 있다. malformed ORC 에러가 뜬다면, 하이브 테이블의 타입을 확인할 필요가 있다. 이럴 경우에는 아래와 같이 기존 textfile을 orc테이블의 형태로 생성한 뒤에 export/import를 하면 에러 없이 진행이 된다. 코드 drop table if exists target_table; CREATE TABLE target_table stored as orc tblproperties ("orc.compress"="ZLIB") as select * from source_table; 출처 : ourcstory.tistory.com/370..

  • format_list_bulleted Big Data/Apache Hive
  • · 2021. 5. 6.
  • textsms
[Spark] Pyspark에서 NoneType Filtering 하는 방법

[Spark] Pyspark에서 NoneType Filtering 하는 방법

PySpark 에서 NoneType을 Filtering 하는 방법 (any, all, subset) pyspark에서 drop method는 NULL을 가진 행을 제거하는데 가장 간단한 함수다. 기본적으로 NULL 값을 가진 행을 모두 제거를 한다. 모든 컬럼이 NULL인 경우 제거를 하고, 하나의 컬럼이 NULL인 경우 제거를 하고 싶은 경우가 있을것이다. 이런 경우에 어떻게 다르게 진행하는지 "any", "all"을 통해 설명 위 작업을 SQL에서 진행한다면 WHERE 절에 해당 컬림이 NULL인지 체크하는 구문을 넣어야 한다. 만약 모든 컬럼에 대해서 해야 하면? 모든 컬럼을 명시해야하는 단점이 있다. (SELECT * FROM TABLE WHERE COL1 IS NOT NULL) drop 메소드에..

  • format_list_bulleted Big Data/Apache Spark
  • · 2021. 5. 6.
  • textsms
[Spark] Pyspark NoneType, null, blank, empty string 필터링 하는 방법

[Spark] Pyspark NoneType, null, blank, empty string 필터링 하는 방법

Pyspark NoneType, Null, Blank, Empty String 필터링 하는 방법 pyspark에서 NoneType, NULL, Blank, Empty String 등 사용지 않는 값을 필털이 하는 방법에 대해서 설명을 한다. SQL로 진행하면 컬럼 하나 하나에 대해서 WHERE 절을 이용해서 필터링을 해야한다. 하지만 spark에서 Condition을 생성하고, 해당 Condition을 filter() 함수의 인자로 넘겨주면, 동일한 조건으로 모든 컬럼에 적용이 가능하다. 코드에서 살펴볼 내용 None, Null Empty String이 포함된 Row만 추출이 가능 None, Null, Empty String을 제외한 모든 Row만 추출도 가능 코드 설명 간단하게 각각 컬럼에 공통적으로 ..

  • format_list_bulleted Big Data/Apache Spark
  • · 2021. 5. 6.
  • textsms
[Spark] 스파크에서 외부 라이브러리 사용하는 방법

[Spark] 스파크에서 외부 라이브러리 사용하는 방법

Spark에서 제공하는 라이브러리 외에도 형태소 분석기나, 기존에 우리가 사용하던 라이브러리를 사용하는 방법에 대해서 설명한다. 클러스터의 모든 슬레이브에 /var/lib/의 이하 폴더에 사용할 라이브러리를 추가해 놓은 상태입니다. spark-shell이나 spark-submit을 할때 아래와 같이 --driver-class-path를 통해 라이브러리를 포함시키면 됩니다. 하지만 하나씩 하는건 무리가 있으니 아래와 같이 실행하면 모든 library를 한번에 import 할 수 있습니다. $ spark-shell --driver-class-path $(echo /var/lib/spark/*.jar | tr ' ' ',') 하지만? 위처럼 하면 아래와 같은 Exception이 발생을 합니다. class의 p..

  • format_list_bulleted Big Data/Apache Spark
  • · 2021. 5. 6.
  • textsms
[Spark] timestamp에서 날짜 추출하는 방법 (month, day, hour)

[Spark] timestamp에서 날짜 추출하는 방법 (month, day, hour)

들어가며 데이터 분석에서 가장 많이, 그리고 자주 사용하는 field가 timestamp의 값이 아닐까 싶다. 그 중에서도 timestamp의 raw데이터를 통해서 새로운 feature를 생성하는 방법이 있다. 예를 들어 날짜별 사용자 방문 수 라고 할때, timestamp의 값에서 우리는 month와 day를 추출해서 새로운 feature의 값으로 사용을 해야 한다. 소스코드 DataFrame의 데이터 타입인 df에서 select의 함수를 통해서 원하는 Column을 추출을 하는 과정이다. timestamp_milli의 값은 ms의 단위의 값이기 때문에 1000을 나눈뒤에 spark에서 제공하는 functions의 라이브러리를 import한 뒤에 사용하면 된다. from_unixtime을 통해 date..

  • format_list_bulleted Big Data/Apache Spark
  • · 2021. 5. 6.
  • textsms
[Spark] Row의 Seq Collection으로 RDD, DataFrame 생성하기

[Spark] Row의 Seq Collection으로 RDD, DataFrame 생성하기

들어가며 스파크에서 구현을 하다 보면 각 객체간의 변환(?)이 자유로워야 하는것 같다. 예를 들면 RDD에서 추출한 데이터를 DataFrame으로 생성한다든지, DataFrame에서 여러개의 Row를 추출해서 새로운 RDD를 생성한다는 식의 경우를 말한다. 이번에 당면한 문제는 Json Object의 요소를 저장하고 있는 Seq의 Collection을 갖고 있었고, 이 Collection을 바탕으로 DataFrame의 생성이 필요했다. 이번에는 Seq[org.apache.spark.sql.Row]의 데이터를 RDD와 DataFrame으로 변환하는 방법에 대해서 정리를 해보려고 한다. 소스코드 logData는 org.apache.spark.sql.Row의 값을 갖고 있다. logData에서 field명이 ..

  • format_list_bulleted Big Data/Apache Spark
  • · 2021. 5. 6.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • ···
  • 8
  • navigate_next
글쓰기 관리자
전체 카테고리
  • 분류 전체보기 (525)
    • Database (227)
      • Oracle SQL (43)
      • Oracle SQL2 (16)
      • Oracle PLSQL (26)
      • Oracle Admin(9i) (13)
      • Oracle tuning (12)
      • Oracle 백업 복구 (0)
      • Oracle Tip (14)
      • mysql (50)
      • mysql tip (21)
      • mysql procedure, function (7)
      • MS Sql (4)
      • DB2 (0)
      • HANA (0)
      • Tibero (0)
      • Altibase (0)
      • Cubrid (0)
      • Informix (0)
      • PostgreSQL (0)
      • MariaDB (2)
      • sqlite (0)
      • HSQL(HyperSQL) (0)
      • ANSI SQL (9)
      • Sybase (0)
      • 대용량DB (8)
      • Apache Derby (0)
      • Vertica (1)
      • 기타 (1)
    • DB GUI Tool (12)
      • DataGrip (1)
      • Plsql developer (1)
      • Sql developer (0)
      • SQLYog (0)
      • Toad For Oracle (0)
      • Toad For Mysql (2)
      • Toad For Sql Sever (0)
      • Orange (1)
      • Erwin (0)
      • SQLGate (0)
      • Mysql Workbench (6)
      • Mysql-front (0)
      • phpMyadmin (0)
      • heidisql (0)
      • navicat (0)
      • SmartSQL (0)
      • DBA Master (0)
      • Golden (0)
      • OraSqler (0)
      • dbeaver (1)
    • DB Migration Tool (1)
      • Flyway (1)
    • NoSQL (33)
      • 개요 (4)
      • redis (14)
      • MongoDB (14)
      • Cassandra (1)
      • Couchbase (0)
    • NoSQL GUI Tool (2)
      • P3X for redis (0)
      • Redis Desktop Manager (0)
      • Medis for redis (1)
      • Studio 3T for MongoDB (1)
    • CDC (1)
      • Debezium (1)
    • AWS (20)
      • AWS - 일반 (0)
      • AWS - IAM (4)
      • AWS - EC2(Elastic Compute C.. (3)
      • AWS - RDS (1)
      • AWS - S3 (1)
      • AWS - CloudWatch (1)
      • AWS - Lambda (0)
      • AWS - CloudFront (1)
      • AWS - DynamoDB (0)
      • AWS - API Gateway (0)
      • AWS - CodeBase, CodeCommit,.. (1)
      • AWS - CLI (7)
      • AWS - Route 53 (0)
      • AWS - X-Ray (0)
      • AWS - KMS (0)
      • AWS - Elastic Beanstalk (0)
      • AWS - SQS & SNS & SES (1)
      • AWS - ECS & ECR (0)
      • AWS - CloudFormation (0)
      • AWS - ElastiCache (0)
      • AWS - EMR (0)
      • AWS - RedShift (0)
      • AWS - EKS(Elastic Kubernete.. (0)
      • AWS - EventBridge (0)
    • Elastic Stack (29)
      • ElasticSearch (27)
      • kibana (0)
      • logstash (2)
      • 로그수집 (0)
    • Big Data (78)
      • 빅데이터 (36)
      • 데이터 분석 (6)
      • Lucene (4)
      • Hadoop (7)
      • Apache Spark (17)
      • Apache Hive (5)
      • Greenplum (0)
      • Cloudera (3)
      • Trino (0)
      • Presto (0)
      • Apache Drill (0)
      • Apache Impala (0)
      • Apache Zeppelin (0)
    • BI 툴 (0)
      • superset (0)
      • Metabase (0)
      • Redash (0)
      • etc BI (0)
    • Infra (1)
      • domain, hosting (1)
    • 협업툴 (21)
      • jira (17)
      • confluence (3)
      • slack (0)
      • teams (1)
      • webex (0)
    • 엑셀 (91)
      • 엑셀 일반 (22)
      • 엑셀 함수 (36)
      • 엑셀 날짜,시간 (0)
      • 엑셀 필터,정렬 (0)
      • 엑셀 집계,피벗 (0)
      • 엑셀 차트 (5)
      • 엑셀 서식 (10)
      • 엑셀 VBA (5)
      • 엑셀 TIP (13)
    • Office Tool (4)
      • MS Word (0)
      • PowerPoint (0)
      • Outlook (4)
      • MS Access (0)
      • MS OneNote (0)
      • 아래아 한글 (0)
      • ohter (0)
    • Design (1)
      • Photoshop (1)
      • Flash (0)
      • Illustrator (0)
    • Media (1)
      • Vegas Pro (0)
      • Adobe premiere (0)
      • 3D MAX (1)
    • 유용한 프로그램 (2)
    • 기타 (1)
최근 글
인기 글
최근 댓글
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바