목록 bigdata (14)
KEEP GOING
개요 sklearn의 tfidfVectorizer를 통해 tfidf matrix를 생성하고 행렬 간 코사인 유사도를 구해 문서 간 유사도를 산출할 수 있습니다. 하지만 문제가 되는 점은 문서가 대용량 dataset일 경우입니다. 단일 서버로는 감당하기 힘들 정도로 매우 느린 속도로 지연이 발생합니다. 이때 브로드캐스트와 parallelize라는 spark의 분산 처리 기능을 활용하여 대규모 dataset에 대한 처리 속도를 개선할 수 있습니다. tfidftfidf는 단어 빈도 tf(term frequency)를 역문서빈도 idf(inverse document frequency)로 곱한 값입니다.tfidf는 문장 내에서 중요한 단어에 높은 가중치를 주기 위한 방법입니다. 우리가 적는 말들은 컴퓨터가 이해할..
예를 들어 다음과 같이 spark dataframe이 있다고 가정합니다. df = spark.createDataFrame([(1,), (1,), (4,), (4,), (4,), (5,), (6,), (8,), (3,)], ('col1',)) df.show() find duplicate values in spark dataframe 한 컬럼 안에서 중복인 값을 확인하고 싶을 때 df.groupBy('col1').count().where('count > 1').show() 만약 count 값은 확인하고 싶지 않다면 drop('count')를 추가합니다. df.groupBy('col1').count().where('count > 1').drop('count').show()
목차 from pyspark.sql import SparkSession spark = SparkSession.builder.getOrCreate() columns = ['id', 'phone_number', 'name', 'sex'] df = spark.createDataFrame([['1', "010-3333-4234", 'Jisu', 'female'], ['2', '010-9999-3231', 'Karina', 'female'], ['3', '010-6653-5888', 'Winter', 'female'], ['4', '010-7732-0029', 'Eunwoo', 'male']], columns) df.show() 우선 실습을 진행하기 앞서 샘플 spark dataframe을 생성합니다. 1. fi..
목차 Spark Configuration(스파크 설정)spark application의 동작 방식을 제어하기 위해서는 다양한 설정이 필요합니다. 이러한 설정은 spark-default.conf 파일, spark-shell 또는 spark-submit 옵션, SparkConf을 통해 수정할 수 있습니다. 만약 여러 property를 동시에 적용한 경우, 적용 우선 순위는 SparkConf, spark-shell, spark-submit, spark-default.conf 순입니다. 1. SparkConf 인스턴스 사용from pyspark.sql import SparkSession from pyspark.conf import SparkConf conf = SparkConf().setMaster("local..
목차 ClassNotFoundException 오류 원인 SparkSession으로 spark 객체를 생성하고, spark.read.jdbc()로 tibero db에 연결하여 테이블을 spark df로 읽어오는 과정이었습니다. 이 과정에서 ClassNotFoundException: com.tmax.tibero.jdbc.tbdriver 라는 오류가 발생했습니다. from pyspark.sql import SparkSession spark = SparkSession.builder.appName('jdbc connect test')\ .getOrCreate() df = spark.read.format("jdbc")\ .option("driver", "com.tmax.tibero.jdbc.TbDriver")\ ..
목차 oozie w/f에서 sqoop 액션 실행 시 아래와 같은 에러가 발생했습니다. [main] ERROR org.apache.sqoop.tool.ImportTool - Import failed: org.apache.hadoop.mapred.FileAlreadyExistException: Output directory hdfs://nameservice1/user/hive/warehouse/***db.****table already exists FileAlreadyExistException 오류 원인 FileAlreadyExistsException 오류는 sqoop import 사용 시 --target-dir 옵션으로 디렉터리를 지정했을 때, 지정된 디렉토리가 hdfs에 이미 존재하는 경우에 발생합니다...
목차 yarn이란 YARN은 Hadoop 클러스터의 자원을 효율적으로 관리하고 분배하는 시스템입니다. 클러스터 전체 리소스 사용률을 모니터링하고 자원을 요청하고 할당을 조절하면서 애플리케이션 성능을 최적화합니다. YARN은 리소스 매니저(ResourceManager)와 노드 매니저(NodeManager)로 구성되어 있습니다. yarn과 하둡과의 관계 하둡(Hadoop)은 대용량 데이터를 분산 처리할 수 있는 오픈 소스 프레임워크입니다. 이때 하둡 클러스터에서 자원을 효율적으로 관리하고 분배하기 위해 사용되는 것이 바로 YARN입니다. 즉, YARN은 하둡의 하위 컴포넌트 중 하나이며 분산 컴퓨팅 애플리케이션을 실행하기 위한 자원 관리 시스템입니다. yarn의 구성요소 1)리소스매니저(Resource Ma..
hdfs 명령어 정리 hdfs는 하둡에서 대용량 데이터를 저장하고 처리할 수 있는 파일 시스템입니다. hdfs에 접근하는 다양한 CLI 명령어들이 존재하는데 이를 정리하고자 게시글을 작성하였습니다. hdfs에서 파일을 확인하는 방법, hdfs에서 로컬로 파일을 복사하는 방법, 역으로 로컬에서 hdfs로 파일을 복사하는 방법, hdfs 내에서 파일을 복사하는 방법 등을 배워보겠습니다. 현재 디렉터리 내 파일 확인 check hdfs files in working directory hadoop fs -ls hdfs에서 로컬로 파일 복사 copy from hdfs to the local file sytem hadoop fs -get hadoop fs -copyToLocal hdfs dfs -copyToLoca..