본문 바로가기

전체 글

(146)
[Python] 가장 가까운 같은 글자 풀이 방법 처음 나온 문자들과 인덱스값을 저장해놓고, 처음 나온 문자가 아닐때 가장 가까운 인덱스를 찾아야 겠다고 생각했다. s의 길이만큼 i를 증가시켜가며 word = s[i] 일 때, 1. word가 word_dic에 없을 때 - 처음 나온 문자일 때 word_dic에 {word, word의 인덱스}를 저장하고, answer에 -1을 저장한다. 2. word가 word_dic에 있을 때 word_dic에서 이미 앞에 나온 문자의 index를 가져온다 -> p_index 현재 word의 index를 가져와 word_dic에 해당 word의 index 값을 갱신하고, answer에 현재 인덱스 - 전에 나왔던 같은 글자의 인덱스 를 저장한다. 풀이 결과 def solution(s): answer = []..
[Hadoop] Python으로 MapReduce 구현하기 mapper.py import sys for line in sys.stdin: words = line.strip().split() for word in words: print(f"{word}\t{1}") mapper.py 리눅스 서버로 옮기기 [root@localhost hadoop-3.3.6]# chmod +x mapper.py [root@localhost hadoop-3.3.6]# echo "hello world python and hadoop"| ~/hadoop-3.3.6/mapper.py mapreduce.py #!/usr/bin/env python from operator import itemgetter # 다양한 방법으로 딕셔너리를 정렬 import sys # 필요한 변수 초기화 result ..
[Git] 추가한 git repository 삭제하기 내 프로젝트를 github에 올릴 목적으로 git repository를 추가했는데 안올리고 싶어져서 .. 알아본 저장소 삭제하는 방법 git bash에 들어가서 연결한 프로젝트 경로로 이동하고 rm -rf .git 이렇게 하면 저장소가 삭제된다 ~~ 참고로 나는 아무 커밋도 하지 않고 올리지 않은 상태에서 저렇게 삭제했다.
[Hadoop] Java로 MapReduce 구현하기 rocky linux 환경에 intellij 다운받고 실행 다운받은 intellij 파일 root로 옮기고 압축 푼 후 [root@localhost ~]# cd idea-IC-233.14475.28/bin [root@localhost bin]# ./idea.sh 실행 MapReduce를 위한 Java Project 설정 pom.xml에 dependencies 추가 - mvn repository에서 검색 org.apache.hadoop hadoop-mapreduce-client-core 3.3.6 org.apache.hadoop hadoop-common 3.3.6 org.apache.hadoop hadoop-hdfs 3.3.6 org.apache.hadoop hadoop-client 3.3.6 scp [j..
[Hadoop] hdfs 명령어 정리 및 실행 Hadoop 환경변수 설정 ~/.bashrc 수정 [root@localhost ~]# hadoop fs -mkdir /tmp mkdir: `/tmp': File exists 앞으로 이렇게 'hadoop'으로 접근 가능 기본적인 HDFS의 파일을 조작하기 위해서 hadoop fs 또는 hdfs dfs 커맨드를 사용한다. 우리는 hadoop 경로 설정해 주었으니 hadoop fs 로 사용 가능 -mkdir [root@localhost ~]# hadoop fs -mkdir -p /user/kimnayoung/hadoop_edu/test -p : 존재하지 않는 중간의 디렉토리를 자동으로 생성 -ls [root@localhost ~]# hadoop fs -ls -R /user -R : /user 하위의 모든 폴더..
[Python] 문자열 겹쳐쓰기 def solution(my_string, overwrite_string, s): over_len = len(overwrite_string) answer = my_string[:s] + overwrite_string + my_string[s+over_len:] return answer
[Python] 추억 점수 def solution(name, yearning, photo): answer = [] name_dict = dict(zip(name, yearning)) for each_photo in photo: sum = 0 for each_name in each_photo: if each_name in name_dict: sum += name_dict[each_name] answer.append(sum) return answer dict(zip(name, yearning)) : name, yearning 배열을 하나의 dictionary로 만들기 zip : 두개의 리스트를 묶어줄 때 사용 해당 키 값이 딕셔너리에 있는지 확인 : if each_name in name_dict
[PLAYDATA 데이터 엔지니어링] 3월 1주차 회고 1. 전반적인 느낌(일주일 동안 한 일) 저번주 월~목을 휴가로 빠졌었다. 오래전부터 계획되어 있었기도 하고, 이번 방학을 이 여행만 보고 살았기 때문에 ,,,, 가서 열심히 놀고 flex하고 왔다 😎 이번주에는 플레이데이터에서 크롤링, numpy, pandas, hadoop을 공부했다. 크롤링 정적, 동적 사이트 크롤링과 api을 연동하여 크롤링을 진행한 부분을 복습했다. python에서 DB 연결하는 부분까지 진행하였다. 이전에 진행했던 프로젝트들에서 크롤링은 내파트가 아니어서 제대로 해본적은 없었는데, 이번기회에 크롤링 코드들을 자세히 보고 익힐 수 있었다. Numpy, Pandas numpy와 pandas 부분을 공부했다. 데이터분석하면서 numpy는 많이 사용하지 않았어서 numpy에서 배열을 ..