[Linux]부트캠프 - 파일 및 폴더 생성
파일 및 폴더 생성
[Ctrl] + [L]
: clear와 똑같이 화면 청소로컬호스트 8088번(localhost:8088
)에 접속해서 여기 클릭
rdd01 = sc.range(0, 1000, 1, 2)
rdd01.collect()
.collect()
.getNumPartitions()
.take()
rdd02 = rdd01.filter(lambda x:x % 2)
rdd02.take(10)
rdd03 = rdd01.filter(lambda x: not x % 2)
rdd03.take(10)
countries = ['korea','united states america','united kingdom','japan','france','germany','italia','canada','korea']
g8 = sc.parallelize(countries, 2)
g8.collect()
g8 = g8.distinct()
g8.count()
.distinct()
사용g8_upper = g8.map(lambda x: x.upper())
g8_upper.collect()
map()
으로 타겟들에 upper()
함수(대문자) 적용g8_list01 = g8.map(lambda x:list(x))
g8_list01.collect()
g8_list02 = g8.flatMap(lambda x: list(x))
g8_list02.collect()
counting = sc.range(1, 9, 1, 2)
counting_g8 = counting.zip(g8)
counting_g8.collect()
score = [('강호동',10),('유재석',30),('강호동',30),('신동엽',70),('유재석',60)]
score_rdd = sc.parallelize(score, 2)
score_rdd.collect()
score_rdd_rbk = score_rdd.reduceByKey(lambda x, y: x + y)
score_rdd_rbk.collect()
nums = sc.parallelize([1,2,3,1,1,2,5,4],2)
nums.sortBy(lambda x:x).collect()
sortBy()
는 정렬을 도와준다.arrs = g8.glom()
arrs.collect()
glom()
: 파티션 별로 배열 형태로 그루핑시켜줌nums.max()
nums.min()
nums.mean()
nums.variance()
nums.stdev()
nums.stats()
nums.countByValue()
min(), max()
: 최대, 최소 값mean()
: 평균값variance()
: 분산stdev()
: 표준편차stats()
: 개수, 평균, 표준편차, 최대최소값 출력countByValue()
: 각 요소의 개수 카운트g8.first()
g8.take(3)
g8.takeOrdered(3)
g8.top(3)
g8.count()
first()
: 가장 처음에 위치한 값take
() : 적은 만큼의 앞의 값 가져오기takeOrdered()
: 정렬해서 값 가져오기top()
: 내림차순으로 정렬해서 가져오기count()
: 개수 가져오기# 홀수데이터
rdd02_sum = rdd02.sum()
rdd02_sum
# 짝수데이터
rdd03_sum = rdd03.sum()
rdd03_sum
sum()
: 합 구하기rdd02_fold = rdd02.fold(0, lambda x, y:x + y)
rdd02_fold
fold(기본값, 연산)
: 데이터를 연산
rdd02_aggr = rdd02.aggregate(0, max, lambda x, y:x + y)
rdd02_aggr
rdd02_reduce = rdd02.reduce(lambda x, y: x + y)
reduce()
: 데이터를 병렬 연산g8에서 가장 긴 단어와, 가장 짧은 단어를 찾기
# 가장 긴 단어
def g8Max(x, y):
if len(x) > len(y):
return x
else:
return y
g8_max_length = g8.reduce(g8Max)
g8_max_length
# 가장 짧은 단어
g8_min_length = g8.reduce(lambda x, y: x if len(x) < len(y) else y)
g8_min_length
g8.saveAsTextFile("/tmp/g8")
result = sc.textFile("/tmp/g8/part-000*")
result.collect()
g8의 내용을 텍스트 파일로 저장하고 다시 불러오는 과정
이 파일은 로컬저장소가 아닌 하둡 hdfs에 저장되어있다.
hdfs dfs -cat /tmp/g8/part-00000
``hdfs dfs -cat /tmp/g8/part-00001`
파티션 별로 저장되는 것을 눈으로 확인할 수 있다.
hdfs(하둡의 프레임워크) 안에 폴더 만들기
hdfs dfs -mkdir -p /home/big
로컬 호스트 페이지(localhost:9870)에서도 확인할 수 있다.
g8 = sc.textFile("/tmp/g8/part-000*")
g8.collect()
key = g8.keyBy(lambda x: x[0])
key.collect()
key.keys().collect()
key.values().collect()
keyBy(내용)
: 첫 글짜를 짤라서 키값으로 만들어 달라는 내용keys()
: 키값들values()
: 밸류값들key.mapValues(lambda x: list(x)).collect()
key.flatMapValues(lambda x: list(x)).collect()
mapValues()
: values들 하나하나에 적용flatMapValues()
: 매핑한 결과를 전체에 적용하기 때문에 키 1개 : value 1개 이런식으로 적용
key.groupByKey().mapValues(lambda x: list(x)).collect()
key.groupByKey().mapValues(lambda x: len(x)).collect()
len()
을 사용하면 키 당 만들어진 애들의 개수가 출력그렇다면 [('g', 'germany'),... ('u', 'united states america, united kingdom')]
형태로 나오게 하려면 어떻게 해야할까?
key.reduceByKey(lambda x, y:x + ", " + y).collect()
key.countByKey()
g8 = sc.textFile("/tmp/g8/part-000*")
g8_upper = g8.map(lambda x: x.upper())
g8_upper.collect()
data.zip(강사님께 받은 파일)을 드래그앤 드롭으로 우분투로 보내줬다.
폴더를 만들고 압축파일을 풀어보자.
mkdir data
unzip data.zip -d ./data
이 폴더를 hdfs에 올려보자.
hdfs dfs -put /home/big/data /home/big/data
앞이 내가 가지고 있는 경로(ubuntu), 뒤쪽이 보낼 위치(hdfs)
hdfs dfs -ls /home/big/data
으로 잘 보내졌는지 확인
spark_wc라는 파이썬 파일을 만들어 밑에 내용을 작성하자.
vim spark_wc.py
밑에 내용 작성하고 저장
import sys, re
from pyspark import SparkConf, SparkContext
conf = SparkConf().setAppName('Word Count')
sc = SparkContext(conf=conf)
if (len(sys.argv) != 3):
print("wordcount.py input_file output_dir 형태로 실행해 주세요")
sys.exit(0)
else:
inputfile = sys.argv[1]
outputdir = sys.argv[2]
wordcount = sc.textFile(inputfile)\
.repartition(10)\
.filter(lambda x: len(x) > 0)\
.flatMap(lambda x: re.split('\W+', x))\
.filter(lambda x: len(x) > 0)\
.map(lambda x:(x.lower(), 1))\
.reduceByKey(lambda x, y: x + y)\
.map(lambda x:(x[1], x[0]))\
.sortByKey(ascending=False)\
.persist()
wordcount.saveAsTextFile(outputdir)
top10 = wordcount.take(5)
result = []
for counts in top10:
result.append(counts[1])
print(result)
셰익스피어.txt(아까 받은 파일)의 내용을 result에 저장시켜 spark_wc.py 를 실행
spark-submit spark_wc.py ~/data/shakespeare.txt ~/result
가장 많이 나온 5개가 출력된다.
어떤 단어가 몇번 나왔는지 알 수 있다.
hdfs dfs -cat ~/result/part-00000
이 파이썬 파일 해석하는게 오늘 숙제!
파일 및 폴더 생성
파일 시스템 탐색
도움말(man -> manual)
명령어 기초
유닉스(Unix)
특정 코드 지연 실행 - DispatchQueue.main.asyncAfter(deadline: )
Naming Conventions
안드로이드 폰과 맥북에어 M1 USB 테더링 성공
Simulator 풀 스크린 사용 방법
10807번 - 개수 세기
프로그래머스 Lv.1 풀이 코드 모음
프로그래머스 Lv.1 풀이 코드 모음
11047번 - 동전 0
11659번 - 구간 합 구하기 4
14888번 - 연산자 끼워넣기
9184번 - 신나는 함수 실행
24416번 - 알고리즘 수업 - 피보나치 수 1
2580번 - 스도쿠
9663번 - N-Queen
15652번 - N과 M (4)
15651번 - N과 M (3)
15650번 - N과 M (2)
25305번 - 커트라인
25304번 - 영수증
3003번 - 킹, 퀸, 룩, 비숍, 나이트, 폰
15649번 - N과 M (1)
2004번 - 조합 0의 개수
1676번 - 팩토리얼 0의 개수
9375번 - 패션왕 신해빈
1010번 - 다리 놓기
11051번 - 이항 계수 2
11050번 - 이항 계수 1
3036번 - 링
2981번 - 검문
1934번 - 최소공배수
2609번 - 최대공약수와 최소공배수
1037번 - 약수
5086번 - 배수와 약수
1358번 - 하키
1004번 - 어린 왕자
1002번 - 터렛
3053번 - 택시 기하학
2477번 - 참외밭
4153번 - 직각삼각형
3009번 - 네 번째 점
1085번 - 직사각형에서 탈출
11478번 - 서로 다른 부분 문자열의 개수
1269번 - 대칭 차집합
1764번 - 듣보잡
10816번 - 숫자 카드 2
1620번 - 나는야 포켓몬 마스터 이다솜
14425번 - 문자열 집합
10815번 - 숫자 카드
18870번 - 좌표 압축
10814번 - 나이순 정렬
1181번 - 단어 정렬
11651번 - 좌표 정렬하기 2
11650번 - 좌표 정렬하기
1427번 - 소트인사이드
2108번 - 통계학
10989번 - 수 정렬하기 3
2751번 - 수 정렬하기 2
2750번 - 수 정렬하기
22.06.25 ~ 27 부산 먹부림 기록
1436번 - 영화감독 숌
1018번 - 체스판 다시 칠하기
7568번 - 덩치
2231번 - 분해합
2798번 - 블랙잭
11729번 - 하노이 탑 이동 순서
2447번 - 별 찍기 - 10
17478번 - 재귀함수가 뭔가요?
10870번 - 피보나치 수 5
10872번 - 팩토리얼
9020번 - 골드바흐의 추측
4948번 - 베르트랑 공준
1929번 - 소수 구하기
11653번 - 소인수분해
2581번 - 소수
1978번 - 소수 찾기
10757번 - 큰 수 A+B
2839번 - 설탕 배달
2775번 - 부녀회장이 될테야
10250번 - ACM 호텔
2869번 - 달팽이는 올라가고 싶다
1193번 - 분수찾기
2292번 - 벌집
1712번 - 손익분기점
1316번 - 그룹 단어 체커
2941번 - 크로아티아 알파벳
5622번 - 다이얼
2908번 - 상수
1152번 - 단어의 개수
1157번 - 단어 공부
2675번 - 문자열 반복
10809번 - 알파벳 찾기
11720번 - 숫자의 합
11654번 - 아스키 코드
1065번 - 한수
4673번 - 셀프 넘버
15596번 - 정수 N개의 합
4344번 - 평균은 넘겠지
8958번 - OX퀴즈
25083번 - 새싹
Spark Bigdata Pipeline
Spark 3일차
Spark 2일차
1546번 - 평균
Spark 1일차
Hadoop🐘
3052번 - 나머지
2577번 - 숫자의 개수
2562번 - 최댓값
10818번 - 최소, 최대
Linux
MongoDB 조회 문제
MongoDB
1110번 - 더하기 사이클
10951번 - A+B - 4
Oracle 3️⃣
ORACLE 연습용 문제 만들기 숙제
10952번 - A+B - 5
Oracle 2️⃣
2480번 - 주사위 세개
Oracle Day1️⃣
Tensorflow
Big Data
2525번 - 오븐 시계
10871번 - X보다 작은 수
2439번 - 별 찍기 - 2
2438번 - 별 찍기 - 1
11022번 - A+B - 8
11021번 - A+B - 7
2742번 - 기찍 N
2741번 - N 찍기
15552번 - 빠른 A+B
8393번 - 합
10950번 - A+B - 3
9️⃣ 2739번 - 구구단
2884번 - 알람 시계
14681번 - 사분면 고르기
⛏크롤링(Crawling)
2753번 - 윤년
Django 복습 4️⃣
Django 복습 3️⃣
💯 9498번 - 시험 성적
1330번 - 두 수 비교하기
✖ 2588번 - 곱셈
➗ 10430번 - 나머지
Django 복습 2️⃣
Django 복습 1
MySQL 복습!
⁉10926번 - ??!
🆎1008번 - A/B
👩🦲 18108번 - 1998년생인 내가 태국에서는 2541년생?!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
🎈✨경 축✨🎈
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
선형 자료구조(1일차에 이어서)
🆎10998번 - A×B
🆎1001번 - A-B
🆎1000번 - A+B
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
🐶10172번 - 개
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
🐱10171번 - 고양이
[해당 포스트는 유튜버 나동빈님의 영상을 참고했습니다.]
❤10718번 - We love kriii
🖐2557번 - Hello World
Today I Learned(TIL)📌 (2021.12.31)
Today I Learned(TIL)📌 (2021.12.30)
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[noitce!!] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!