묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
수강기간연장가능할까요?
생각보다 진도를 못나가서 혹시 연장이 가능한가요?
-
미해결실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
스트리밍 예제 실행 시 py4j.protocol.Py4JNetworkError 발생
안녕하세요! 강의를 듣고 스트리밍 코드를 주피터 노트북으로 실행하고 netcat을 통해 입력해도 아무것도 출력되지 않아서 도커 안으로 들어가서 spark-submit으로 직접 파이썬 파일로도 실행해봤는데 위 에러가 계속 발생합니다 😬 도커는 수도 권한 주어서 docker run -d -p 9010:8888 -p 4040:4040 --name sparkling --restart always -v /Users/nespola/Desktop/sparkling/sparkdata:/home/jovyan/sparkdata --user root -e NB_GID=100 -e GRANT_SUDO=yes jupyter/all-spark-notebook로 실행했는데 제가 무슨 부분을 놓치고 있는걸까요?
-
해결됨스파크 머신러닝 완벽 가이드 - Part 1
spark 추가 학습 관련 질문
선생님 안녕하세요?좋은 강의 진심으로 감사드립니다. 이전에 질문드렸을때 part2 는 나올 계획이 없다고 답변주셨는데요혹시 spark를 좀 더 심화해서 공부해보고 싶은데 추천해주실 만한 책이나 자료가 있으실까요? 원서도 상관이 없습니다.물론 spark best book top 10 이런식으로 구글링하면 추천도서가 나오긴 하지만.. 혹시 선생님께서 개인적으로 좀 좋은 교재라고 생각하셨던 도서나 자료가 있으신지 궁금합니다.
-
미해결실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
Repartition과 Coalesce에 대해 궁금한 점이 있어요!
안녕하세요 선생님.Repartition & Coalesce 에 강의를 보다가 궁금한 점이 있습니다. 현재 현업에서 Repartition을 수행하여 partition 한 데이터를 한 번 더 repartition 해주고 있는데요..예를들어 파티션 개수가 1개이고 -> 파일 개수가 100개라고 가정할 때, // count 가 100개 -> 1개로 줄이려고 함(ex) hdfs dfs -count {path}/{partition_key}={partition_value}/ 파일 개수를 1개로 줄이고자 할 때는, repartition을 수행하는 것 보단, coalesce 를 수행하여 1개로 줄이는 게 더 적합하다는 (왜냐하면 wide shffling을 진행하기 때문에..?) 이야기 이실까요? 이 부분을 잘 이해를 못 했습니다 ㅠㅠ. 감사합니다!
-
미해결빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
수강 기한 연장이 가능할까요?
안녕하세요 강사님어느새 수강기한이 얼마 남지 않아서..혹시 연장할 수 있는 방법이 있는지 문의드립니다.좋은 강의 감사드립니다!
-
미해결빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
강의 연장 문의
안녕하세요, 수강 기한이 얼마 안 남았는데, 기간 연장이 가능할까요?미리 감사드립니다
-
해결됨빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
wb.json , pandas.json 파일을 jupyter notebook 환경에서 read 가 안됩니다..ㅠ
현재 AWS Glue 4.0 docker 이미지를 내려 받아 pyspark 커널에서 사용 중이며 섹션 8 판다스 환경에서 airbnb..csv, analyzed_americsv_2023.csv 파일은 문제 없이 잘 열리는데 Json 파일만 열리지 않습니다..ㅠ Renderer Failure: wb.jsonUnexpected non-whitespace character after JSON at position 6858 (line 2 column 1) file_name = "wb.json" df = sqlContext.read.json(file_name) df.printSchema pyspark.sql.utils.AnalysisException: Path does not exist: file:/home/glue_user/workspace/wb.json __ file_name = "pandas.json" df = sqlContext.read.json(file_name) df.printSchema return_value = get_return_value( File "/home/glue_user/spark/python/pyspark/sql/utils.py", line 196, in deco raise converted from None pyspark.sql.utils.AnalysisException: Path does not exist: file:/home/glue_user/workspace/pandas.json pandas.json 윈도우 로컬 환경에서 열면두번째 행에서 첫번째 에서 빨간줄이 나옵니다 혹시 각 딕셔너리를 담는 변수는 따로 필요가 없을까요?
-
미해결실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
pyspark 현업에서 로컬 개발 및 운영
안녕하세요. 좋은 강의 감사합니다.scala를 이용하여 spark streaming을 배포할 때, 주로 shadow jar 파일을 생성하고 해당 파일을 이용하여 배포하는 걸로 알고 있는데, pyspark 같은 경우는 현업에서 어떤 방법으로 배포를 하고 있을까요? 1. 강의에서 소개해준 것처럼 파일 단위로 배포를 하는지 다른 방법으로 배포를 하는지 궁금합니다. 2. 강의에서 도커를 이용하여 빠르게 개발 및 배포하는 방법을 소개해주셨는데, 현업 로컬 환경에서도 주로 도커를 이용하여 개발을 하고 계실까요? 감사합니다.
-
미해결실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
Spark Structured Streaming Gracefully shutdown 질문
안녕하세요. 좋은 강의 재밌게 수강하고 있습니다.Spark Structured Streaming Fault Tolerance 강의에서 아래와 같이 gracefully 하게 스트리밍을 종료할 수 있다고 말씀 주신 부분에서 질문이 있습니다..config("spark.streaming.stopGracefullyOnShutdown", "true")현재 업무에서 Spark Streaming을 사용했을 때 아래 코드와 같이 파라미터에 명확하게 stopGracefully 이 존재하여서 이를 이용하여 스트리밍을 안전하게 종료했습니다.def stop(stopSparkContext: Boolean, stopGracefully: Boolean): Unit 하지만, Spark Strucutred Streaming으로 전환했을 때 이러한 파라미터가 존재하지 않아서, 아래 링크를 참고하여 직접 구현하였습니다. https://stackoverflow.com/questions/45717433/stop-structured-streaming-query-gracefully 강의에서 알려주신 것처럼 아래와 같이 사용하면 동일하게 Structured Streaming도 Gracefully하게 종료할 수 있다고 이해하면 될까요? .config("spark.streaming.stopGracefullyOnShutdown", "true")Gracefully 스트리밍을 종료 한다라는 의미가 현재 처리 중인 마이크로 배치까지는 모두 다 처리 및 체크포인트 작성까지 한 후 스트리밍 종료로 이해하면 될까요?마지막으로, DR 같이 스트리밍 종료가 아닌 클러스터가 모두 비정상적으로 종료되었을 경우 Gracefully 옵션이 적용되지 않는 케이스를 경험 했는데, 이런한 케이스는 현업에서 주로 어떻게 대처하고 있을까요?(예를 들어 체크 포인트 등이 불일치하게 스트리밍이 종료)감사합니다.
-
해결됨빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
[HDFS] Data integrity; checksum 관련 질문
안녕하세요. 현재 빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술 수업을 수강 중인 학생입니다. HDFS의 Data integrity 부분의 강의를 듣다 궁금한 점이 생겨서 질문 올립니다.checksum은 transmission 과정에서 발생하는 에러로 인해 data가 corrupt 되었는지를 destination에서 판단하기 위해 사용한다고 이해했습니다.근데 "transmission 과정에서 data를 corrupt 시킬만한 에러가 발생했다면 checksum 값도 함께 corrupt될 수도 있는거 아닌가"라는 궁금증이 생겼습니다. 제가 궁금한 점은 아래와 같이 2가지 입니다:1. transmission 과정 중 checksum 값도 corrupt될 가능성이 있는지만약 그렇다면 그런 경우를 대비한 별도의 메커니즘이 존재하는지 답변에 미리 감사드립니다.
-
미해결빅데이터 클러스터 구축 패키지; 성공을 향한 로드맵
zookeeper security group 에러
안녕하세요! zookeeper start 실행시 자꾸 connection refused 에러가 나서 문의드립니다.... ㅠㅠ 강의에 나온 대로 security group 설정했고 ping test까지 해봤는데도 잘되는데 에러가 발생하네요.... standalone 모드로는 돌아가는 것으로 보아 zookeeper 설치는 제대로 된 것 같은데 왜 통신이 안될까요
-
해결됨빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
안녕하세요. 강의 연장 신청 문의드립니다
안녕하세요 교수님현재 spark advanced 까지 진도 나갔으나 아쉽게도 수강기한이 거의 끝나서나머지 강의 수강을 위해 구글폼으로 연장 신청했습니다강의 연장 가능할까요?
-
해결됨빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
jar input output_notice 문의
강사님.. 스스로 문제 해결해가며 여기까지 왔는데.. 여기는 해결이 안되 문의 드립니다..ㅠ 6:24초 영상 처럼 output_notice 디렉토리에 [실습2]에서 했던 input 파일을 맵 리듀스가 되어야 하는데 저 화면에서 30분동안 멈춰 있다 겨우 동작 됐는데 정상 동작 되지 않은거 같습니다 bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar wordcount input output_notice bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar wordcount input output_notice 24/04/23 14:31:51 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032 24/04/23 14:31:52 INFO input.FileInputFormat: Total input paths to process : 1 24/04/23 14:31:52 INFO mapreduce.JobSubmitter: number of splits:1 24/04/23 14:31:52 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1713835952413_0002 24/04/23 14:31:52 INFO impl.YarnClientImpl: Submitted application application_1713835952413_0002 24/04/23 14:31:52 INFO mapreduce.Job: The url to track the job: http://ubuntu-virtual-machine:8088/proxy/application_1713835952413_0002/ 24/04/23 14:31:52 INFO mapreduce.Job: Running job: job_1713835952413_0002 24/04/23 14:31:57 INFO mapreduce.Job: Job job_1713835952413_0002 running in uber mode : false 24/04/23 14:31:57 INFO mapreduce.Job: map 0% reduce 0% 24/04/23 14:32:01 INFO mapreduce.Job: map 100% reduce 0%bin/hadoop fs -ls output_notice Found 1 items drwxr-xr-x - ubuntu supergroup 0 2024-04-23 14:31 output_notice/_temporary etc/hadoop/yarn-site.xml <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> </configuration> etc/hadoop/mapred-site.xml <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
-
해결됨빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
안녕하세요 강의 연장문의
안녕하세요 강의가 무제한인줄 알고 구매했어요..알고보니 강의가 3개월이여서 인프런에 환불 요청했더니 안된다고, 강사님께 3개월 연장부탁해보라고 하네요..혹시 3개월 연장 가능할까요?
-
미해결실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
PySpark Runtime Architecture 내용 중 질문이 있습니다!
Spark Architecture(스파크 아키텍처) 소개 강의 내용 중 뒷 단에 있는 node에도 JVM이 있는 걸로 보이는데 Application Master(in Worker Node) 안에 있는 JVM과 오른쪽 노드들 안에 있는 JVM간의 차이점과 역할이 궁금합니다!
-
해결됨빅데이터 클러스터 구축 패키지; 성공을 향한 로드맵
ssh master02 입력시 permission denied 에러
안녕하세요ssh master02 입력시 permission denied 에러가 발생했습니다. ㅠㅠ 이전 강의에서 정상적으로 SSH 등록했고 AMI 이미지 만들고 launch instance까지 완료했는데 오류가 발생했는데요. 해결 방법이 궁금합니다
-
해결됨빅데이터 클러스터 구축 패키지; 성공을 향한 로드맵
vim etc/hosts 질문
AMI 생성 후에 instance를 각각 4개씩 launch를 했는데요영상 속 이미지와 다르게 sudo vim etc/hosts를 해도 빈 파일이 열립니다.ip 리스트를 작성하고 저장하려고 하니 can't open 에러가 발생하고요. 등록한 ip 리스트를 이용해서 노드 간 통신을 하는 것으로 보여지는데요.무시하고 진행해도 되는건가요?
-
해결됨빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
aws ubuntu 22.04 크롬 드라이브 설치 및 경로 확인
wget 설치 후 wget 으로 2023_BIGDATA 디렉토리에 크롬.deb 파일 내려 받고 dpkg -i 명령어로 설치 하여 google-chrome --version 이 나왔습니다 chromedriver.Chrome('chromedriver') 라는 파일은 어디에서 찾을 수 있을까요? driver = webdriver.Chrome("/home/ubuntu/2023_BIGDATA/google-chrome-stable_current_amd64.deb" pip install wget sudo wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb # google-chrome-stable_current_amd64.deb sudo dpkg -i google-chrome-stable_current_amd64.deb google-chrome --version Google Chrome 123.0.6312.105
-
해결됨빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
섹션2 실습1 코드 공유 문의..
안녕하세요 강사님.. 실습 1번은 현재 저로서는 해석이 불가능하여해석은 나중에 하기로 하고일단 쳐보기만 열심히 쳐봤는데 역시나 안되네요..코드 공유좀 부탁 드릴 수 있을까요.. 죄송합니다from bs4 import BeautifulSoup from urllib.request import * from urllib.parse import * from os import makedirs import os.path, time, re proc_files = {} def enum_links(html, base): soup = BeautifulSoup(html, "html.parser") links = soup.select("link[rel='stylesheet']") # CSS links += soup.select("a[href]") # link result =[] for a in links : href = a.attrs['href'] url = urljoin(base, href) result.append(url) return result def download_file(url): o = urlparse(url) savepath = "./" + o.netloc + o.path if re.search(r"/$", savepath): savepath += "index.html" savedir = os.path.dirname(savepath) if os.path.exists(savepath): return savepath if not os.path.exists(savedir): print("mkdir=", savedir) makedirs(savedir) try: print("download=", url) urlretrieve(url, savepath) # url 다운 받고 파일 이름은 savepath로 저장 time.sleep(1) return savepath except: print("다운 실패", url) return None def analyze_html(url, root_url): savepath = download_file(url) if savepath is None: return if savepath is proc_files: return proc_files[savepath] = True print('analyze_html', url) html =open(savepath, "r", encoding="utf-8").read() links = enum_links(html, url) for link_url in links: if link_url.find(root_url) != 0: if not re.search(r".css$", link_url): continue if re.search(r".(html|htm)$", link_url): analyze_html(link_url, root_url) continue download_file(link_url) if __name__ == "__main__": url = "https://docs.python.org/3.5/library/" analyze_html(url, url)
-
해결됨빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
Beautiful Soup 실습 출력 문의
일단 따라 쳐봤는데아래의 결과 처럼 나오는게 맞을까요? html 변수에 </ul>이 있는데 혹시 앞에 <ul>은 없어도 동작 되나요? from bs4 import BeautifulSoup html = """ <html><body> <div id="project"> <h1 id="title">BIG DATA PROGRAMMING</h1> <p id='body'>DATA ANLYSIS AND SCRENCE</p> <p>DATA ACQUISTION PART1</p> </ul> <ul class="items"> <li>CRAWLING</li> <li>SCRAPPING</li> <li>HYBRID WAY</li> </div> </body></html> """ soup = BeautifulSoup(html, 'html.parser') h1 = soup.html.body.h1 p1 = soup.html.body.p p2 = p1.next_sibling.next_sibling print("h1 = " + h1.string) print("p = " + p1.string) print("p = " + p2.string) title = soup.find(id="title") body = soup.find(id="body") print("#title=" + title.string) print("#body=" + body.string) h1 = soup.select_one("div#project > h1").string print("h1 =", h1) li_list = soup.select("div#project > ul.items > li") for li in li_list: print("li =", li.string) 결과python3 2_bs4_temp.py h1 = BIG DATA PROGRAMMING p = DATA ANLYSIS AND SCRENCE p = DATA ACQUISTION PART1 #title=BIG DATA PROGRAMMING #body=DATA ANLYSIS AND SCRENCE h1 = BIG DATA PROGRAMMING li = CRAWLING li = SCRAPPING li = HYBRID WAY