묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
수강기간 연장 가능할까요?
안녕하세요 ㅎㅎ 수업을 잘 듣고 있습니다. ^^ 직장생활 하면서 듣기가 쉽지 않네요 ㅜㅜ 수강기한이 얼마 남지 않아서 가능하다면 연장이 가능할까요? 감사합니다.
-
해결됨빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
섹션7] 과제 2번 질문
섹션7] 과제2번 질문있습니다. users1 = [(0, "ALEX"), (1, "BERT"), (2, "CURT"), (3, "DONT")] subs1 = [(0, "Writing"), (0, "Gym"), (1, "Swimming")] userRDD = sc.parallelize(users1) subsRDD = sc.parallelize(subs1) mergedRDD = userRDD.rightOuterJoin(subsRDD) mergedRDD.map(lambda value : value[1][0] + " loves " + value[1][1]) 조인되어서 collect 되었을 때 데이터 구조가 key (leftvalue, rightvalue) 이렇게 반복구조가 되는 것 같은데 답이 ['ALEX loves Writing'] 이것만 나오는 것이 아니라 ['ALEX loves Writing', 'ALEX loves Gym', 'BERT loves Swimming'] 이렇게 나오는 이유를 모르겠습니다. 좋은 강의 잘 듣고 있습니다. 감사합니다. 아래와 같은 양식으로 질문을 남겨주세요 🙂수업을 들으시면 이해하기 어려운 부분이 있으면 상세히 질문을 남겨주세요.서로 Tone and Manner 를 지키며, 즐거운 수업 시간을 만들어보아요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨빅데이터 클러스터 구축 패키지; 성공을 향한 로드맵
QJM의 Split Brain 해결법과 Zookeper의 Split Brain 해결법의 차이에 대한 질문
안녕하세요. 강사님의 강의를 듣는 도중, 질문의 내용과 같이, Zookeper의 Split Brain 방식과 QJM의 Split Brain 방식의 차이가 헷갈려서, 질문 드리게 되었습니다.제가 이해한 바는 다음과 같습니다.먼저, Network File System의 문제점은 네트워크 문제 발생시에 동기화 문제가 발생하는 Split Brain Issue가 발생합니다. 이는, 두개의 Active NameNode가 생기기 때문에, 데이터의 corruption이 발생하기 때문에, 저희는 Quorum Journal Manager방식을 채택한 것입니다. 이때, QJM의 경우에도 Split Brain 이슈가 발생이 가능하나, 자체적으로 해결할 수 있다고 했습니다. 해당 방법을 찾아보니, 충분한 수의 Journal Node가 살아있다면, 데이터의 일관성을 유지하기 위해 다수결 원칙을 적용하여 정상적인 Jouranl Node들 간의 동의를 얻게 된다는 점입니다. 저는 해당 방법을 찾아보며, zookeper와 같은 Consoliation Algorithms 방식을 사용하고 있구나... 생각이 들었습니다. 그러니까 Split Brain 이슈 중 하나인 데이터 충돌이 발생했을 때, 맞지 않는 데이터를 지우고, 다수가 가지고 있는 데이터로 통일한다는 것인가..? 라는 생각이 들었습니다. 그러다가, Final Wrap UP 수업에서, zookeper의 경우 NN을 모니터링하며, 장애발생시 (이를 테면, Split Brain과 같은 이슈), StandBy NameNode를 Active NameNode로 전환하며, 여러 개의 Standby NN이 있을 경우 Leader 투표 기능을 통해, Active NameNode를 선출하는 기능이라고 정리하였습니다. Q1. 시간 순으로 어떻게 되는지가 헷갈립니다. 주키퍼를 통해 상시 모니터링을 하다가, 해당 이슈가 발생할 시, 재빠르게 Active Node로 전환이 되고 나서, 해당 Split Brain 이슈가 발생하며 데이터 충돌이 발생했던 부분을 QJM에서 다수결 원칙을 통해, 올바르지 않은 Journal Node에 있는 데이터는 삭제하며, 데이터의 일관성을 유지한다는 것일까요? Q2. 만약에 Active Node로 전환이 이루어졌는데도, 해당 문제가 지속적으로 해결이 되지 못해서, QJM에서 다수결 원칙을 통해 해결을 못하는 상황이 발생하면, 심각한 문제상황이라고 볼 수 있는건가요? 잘못 설계해서, 삭제된 데이터는 복구를 할 수 없는건가요? Q3. Network File System의 경우 hdfs-site.xml에 fencing을 추가함으로써, Split Brain issue를 해결할 수 있다고 공부할 수 있었습니다. 그런데, 상기 방법이 있는데도 불구하고, QJM 방식을 사용하는 이유는, 일정정도 해당 문제가 발생할 시, 데이터의 정합성을 보장해준다는 부분 때문에 차용하는 것일까요?
-
미해결실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
spark_kafka 실행시 java.lang.IllegalArgumentException 에러
Streaming에서 Kafka 데이타 추출하기 부분 진행하고 있는데요 spark_kafka.py 실행시 에러가 납니다. ㅠ root@81599cbd6b8f:/opt/bitnami/spark/work# spark-submit --master spark://spark:7077 --packages org.apache.spark:spark-sql-kafka-0-10_2.12:3.4.1 spark_kafka.py ..... --------------------------------------------------------------------- | | modules || artifacts | | conf | number| search|dwnlded|evicted|| number|dwnlded| --------------------------------------------------------------------- | default | 11 | 11 | 11 | 0 || 11 | 11 | --------------------------------------------------------------------- :: retrieving :: org.apache.spark#spark-submit-parent-8f3a0b4c-b23d-4dfa-b9b0-8649735433fc confs: [default] 11 artifacts copied, 0 already retrieved (56445kB/64ms) 23/11/18 23:57:21 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 23/11/18 23:57:24 WARN ResolveWriteToStream: spark.sql.adaptive.enabled is not supported in streaming DataFrames/Datasets and will be disabled. 23/11/18 23:57:24 WARN OffsetSeqMetadata: Updating the value of conf 'spark.sql.shuffle.partitions' in current session from '3' to '200'. 23/11/18 23:57:24 ERROR MicroBatchExecution: Query [id = 40288f62-daae-4e69-80db-ff6f83156268, runId = 535853f9-9153-44be-8eca-19f75ee8b4ea] terminated with error java.lang.IllegalArgumentException: Expected e.g. {"topicA":{"0":23,"1":-1},"topicB":{"0":-2}}, got {"logOffset":2} at org.apache.spark.sql.kafka010.JsonUtils$.partitionOffsets(JsonUtils.scala:75) at org.apache.spark.sql.kafka010.KafkaMicroBatchStream.deserializeOffset(KafkaMicroBatchStream.scala:216) at org.apache.spark.sql.execution.streaming.MicroBatchExecution.$anonfun$getStartOffset$1(MicroBatchExecution.scala:454) at scala.Option.map(Option.scala:230) at org.apache.spark.sql.execution.streaming.MicroBatchExecution.getStartOffset(MicroBatchExecution.scala:454) at org.apache.spark.sql.execution.streaming.MicroBatchExecution.$anonfun$constructNextBatch$4(MicroBatchExecution.scala:489) at org.apache.spark.sql.execution.streaming.ProgressReporter.reportTimeTaken(ProgressReporter.scala:411) at org.apache.spark.sql.execution.streaming.ProgressReporter.reportTimeTaken$(ProgressReporter.scala:409) at org.apache.spark.sql.execution.streaming.StreamExecution.reportTimeTaken(StreamExecution.scala:67) at org.apache.spark.sql.execution.streaming.MicroBatchExecution.$anonfun$constructNextBatch$2(MicroBatchExecution.scala:488) at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:286) at scala.collection.Iterator.foreach(Iterator.scala:943) at scala.collection.Iterator.foreach$(Iterator.scala:943) at scala.collection.AbstractIterator.foreach(Iterator.scala:1431) at scala.collection.IterableLike.foreach(IterableLike.scala:74) at scala.collection.IterableLike.foreach$(IterableLike.scala:73) at scala.collection.AbstractIterable.foreach(Iterable.scala:56) at scala.collection.TraversableLike.map(TraversableLike.scala:286) at scala.collection.TraversableLike.map$(TraversableLike.scala:279) at scala.collection.AbstractTraversable.map(Traversable.scala:108) at org.apache.spark.sql.execution.streaming.MicroBatchExecution.$anonfun$constructNextBatch$1(MicroBatchExecution.scala:477) at scala.runtime.java8.JFunction0$mcZ$sp.apply(JFunction0$mcZ$sp.java:23) at org.apache.spark.sql.execution.streaming.MicroBatchExecution.withProgressLocked(MicroBatchExecution.scala:802) at org.apache.spark.sql.execution.streaming.MicroBatchExecution.constructNextBatch(MicroBatchExecution.scala:473) at org.apache.spark.sql.execution.streaming.MicroBatchExecution.$anonfun$runActivatedStream$2(MicroBatchExecution.scala:266) at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) at org.apache.spark.sql.execution.streaming.ProgressReporter.reportTimeTaken(ProgressReporter.scala:411) at org.apache.spark.sql.execution.streaming.ProgressReporter.reportTimeTaken$(ProgressReporter.scala:409) at org.apache.spark.sql.execution.streaming.StreamExecution.reportTimeTaken(StreamExecution.scala:67) at org.apache.spark.sql.execution.streaming.MicroBatchExecution.$anonfun$runActivatedStream$1(MicroBatchExecution.scala:247) at org.apache.spark.sql.execution.streaming.ProcessingTimeExecutor.execute(TriggerExecutor.scala:67) at org.apache.spark.sql.execution.streaming.MicroBatchExecution.runActivatedStream(MicroBatchExecution.scala:237) at org.apache.spark.sql.execution.streaming.StreamExecution.$anonfun$runStream$1(StreamExecution.scala:306) at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) at org.apache.spark.sql.SparkSession.withActive(SparkSession.scala:827) at org.apache.spark.sql.execution.streaming.StreamExecution.org$apache$spark$sql$execution$streaming$StreamExecution$$runStream(StreamExecution.scala:284) at org.apache.spark.sql.execution.streaming.StreamExecution$$anon$1.run(StreamExecution.scala:207) Traceback (most recent call last): File "/opt/bitnami/spark/work/spark_kafka.py", line 38, in <module> query.awaitTermination() File "/opt/bitnami/spark/python/lib/pyspark.zip/pyspark/sql/streaming/query.py", line 201, in awaitTermination File "/opt/bitnami/spark/python/lib/py4j-0.10.9.7-src.zip/py4j/java_gateway.py", line 1322, in __call__ File "/opt/bitnami/spark/python/lib/pyspark.zip/pyspark/errors/exceptions/captured.py", line 175, in deco pyspark.errors.exceptions.captured.StreamingQueryException: [STREAM_FAILED] Query [id = 40288f62-daae-4e69-80db-ff6f83156268, runId = 535853f9-9153-44be-8eca-19f75ee8b4ea] terminated with exception: Expected e.g. {"topicA":{"0":23,"1":-1},"topicB":{"0":-2}}, got {"logOffset":2}
-
해결됨빅데이터 클러스터 구축 패키지; 성공을 향한 로드맵
HDFS Federation 질문있습니다!
빠짐없이 하나씩 하나씩 가르쳐주시니 저같은 레벨은 계속 반복해서 보면 큰 도움이될 것 같습니다!강의 나오는 개념중에 HDFS Fedeartion이 여러개 네임스페이스? 네임서비스를 지원하다고 하는데 코드랩에서는 일단 하나만 써서 진행하시는 것 같은데.. 혹시 2개 이상하려고 하면 어떻게 설정해야할까요.. 혹시 빅데이터 직무 면접때 공격으로 나올것같아서요..ㅋㅋ
-
해결됨빅데이터 클러스터 구축 패키지; 성공을 향한 로드맵
안녕하세요, 성능평가에 대해 궁금합니다.
제가 강의에서 놓친 부분이 있는지 모르겠지만,제가 만든 빅데이터 클러스터가 잘 만들었는지 아닌지 궁금할 때가 있는데요 ! 제가 만든 클러스터의 성능평가에 대한 부분은 어떻게 진행해야 하는지 궁금합니다.
-
해결됨빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
Selenium을 통해 LinkedIn 제어 및 Job 지원하기 실습2
안녕하세요. 강의 잘 듣고 있습니다. 영상찍은 시점과 제가 실습하는 시점이 달라서 그런 것 같은데 실습하는 중에 자동 로그인 까지는 했는데 그 이후에 간단한 보안 인증이 뜨면서 직접 그림을 맞춰야만 다음 단계로 넘어가집니다. 이러한 과정을 생략할 수 있는 방법이 있을까요? 그리고 그림 맞춘 후 지원하기 요소를 찾을 수 없다고 이러한 오류가 발생합니다. NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":".jobs-apply-button--top-card"} (Session info: chrome=118.0.5993.117)
-
해결됨빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
크롬 버전 문제 질문드립니다.
안녕하세요. 크롬 버전이 115 이상이면 드라이버가 없는데 어떻게 진행할 수 있을까요?
-
해결됨빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
수강 연장 이벤트 신청합니다.
안녕하세요!강의를 들으면서 데이터와 관련된 기술 스택들을 익히는데 많은 도움을 받고 있습니다.다름이 아니라 수강 연장 이벤트를 신청하려고 하는데,구글 설문 링크가 보이지 않아서 이렇게 커뮤니티에 글을 남깁니다.혹시 이벤트 기간이 종료가 된건지 아니라면 어떻게 신청하면 되는지 궁금합니다. 좋은 강의 만들어주셔서 감사합니다!
-
해결됨빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
수강기한 연장 이벤트 신청 합니다.
안녕하세요 이번에 데이터 엔지니어 직무로 취업을 준비하고 있습니다.데이터 엔지니어가 되기 위해서 여러 강의들을 찾던중에 빅데이터 파이프라인에 대해서 이렇게 자세히 설명해주는 강의는 처음이였습니다. 남은 강의 잘 듣고 데이터 엔지니어가 되기 위해서 열심히 더 공부하도록 하겠습니다.
-
해결됨빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
mapreduce 부분에서 job이 실행되지 않습니다.
./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar wordcount input output_notice 의 커맨드 실행하면 아래와 같은 로그가 나오고 더이상 실행되지 않습니다. 23/10/04 20:52:13 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 23/10/04 20:52:14 INFO client.RMProxy: Connecting to ResourceManager at /127.0.0.1:8032 23/10/04 20:52:15 INFO input.FileInputFormat: Total input paths to process : 1 23/10/04 20:52:16 INFO mapreduce.JobSubmitter: number of splits:1 23/10/04 20:52:16 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1696420330687_0001 23/10/04 20:52:16 INFO impl.YarnClientImpl: Submitted application application_1696420330687_0001 23/10/04 20:52:17 INFO mapreduce.Job: The url to track the job: http://218.38.137.27:8088/proxy/application_1696420330687_0001/ 23/10/04 20:52:17 INFO mapreduce.Job: Running job: job_1696420330687_0001위 상태에서 그대로 멈춰있습니다. jps 결과값은 아래와 같습니다.80752 NodeManager 80805 RunJar 80996 Jps 68263 NameNode 80663 ResourceManager 15464 68495 SecondaryNameNode 68366 DataNode 혹시 몰라서 리소스매니저(port 8088)의 스크린샷을 첨부하였습니다.아래는 yarn-site.xml입니다. <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> <property> <name>yarn.resourcemanager.hostname</name> <value>127.0.0.1</value> </property> 해결할 수 있는 방법을 알 수 있을까요?
-
해결됨빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
m1 mac에서의 실습환경
안녕하세요! m1 맥북으로 실습을 하려고 합니다.커뮤니티에 전부 window 관련 질문들만 있어 질문드려요 !맥북 사용시에 권장하는 환경 설정 방법을 알려주실수 있을까요? 다른분 질문에 답변으로 docker는 권장하지 않는다고 하셔서 UTM으로 우분투를 설치해보려고 했는데 에러가 계속 발생해서 어려움에 겪고 있습니다 ㅜ (virtual box 는 m1 맥에서 지원이 안되는 상황이구요..)
-
해결됨빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
수강신청 프로모션 신청했습니다 ㅎㅎ
예전에 취준생 프로모션으로 현재 수업 잘듣고 있습니다ㅎㅎ 일년기한 연장 프로모션도 연 것 같아 구글설문지에 신청했습니다 10월이면 기한이 종료될 예정이라 연장부탁드립니다~~
-
해결됨빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
수강기한 연장 이벤트 신청 합니다.
안녕하세요 강사님~.밑에 수강기한 1년 연장 이벤트 진행한다고 보았는데여기에 써도 되는건지 모르겠는데 괜찮으시다면 연장좀 부탁드리겠습니다.감사합니다~!
-
해결됨빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
Hadoop 기본 제공 MapReduce 실행 에러
`bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar wordcount input output_notice` 명령으로 wordcount 예제를 실행해보려고 하는데 자꾸만 에러가 납니다. Namenode도 초기화해보고, jps 입력해서 노드들이나 매니저들이 정상적으로 동작하고 있는지, 헬스체크 통해서도 용량이 부족하지는 않는지 확인하고 돌려보는데도 문제가 발생하네요.
-
미해결스파크 머신러닝 완벽 가이드 - Part 1
후속 강의 계획 질문드립니다.
혹시 part2 는 언제쯤 계획하고 계신지그리고 다음 강의는 어떤 강의 준비하고 계신지 궁금합니다!
-
해결됨빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
Selenium 실습_chromedriver 에러 문의
안녕하세요 실습1강 팔로우중 문의사항이 생겨 글 드립니다. chrome 과 chrome driver 설치하여 selenium 실행 시, 아래와 같은 에러로 실행이 되지않습니다. 해당 에러를 해결하기위해chrome/chrome-driver 버전 맞춰서 설치selenium 다운그레이드 및 재설치 등 버전별 검토chromedriver 경로: find 명령어 사용하여 조회기타 코드 추가chrome_options = webdriver.ChromeOptions()chrome_options.add_argument('--headless') ... 어떤 수정이 필요한건지 알 수 있을까요?에러메세지Traceback (most recent call last): File "/home/ian/2023_BIGDATA/5_selenium.py", line 11, in <module> driver = webdriver.Chrome('/home/ian/2023_BIGDATA/chromedriver') File "/home/ian/2023_BIGDATA/venv2023/lib/python3.10/site-packages/selenium/webdriver/chrome/webdriver.py", line 76, in init RemoteWebDriver.__init__( File "/home/ian/2023_BIGDATA/venv2023/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in init self.start_session(capabilities, browser_profile) File "/home/ian/2023_BIGDATA/venv2023/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session response = self.execute(Command.NEW_SESSION, parameters) File "/home/ian/2023_BIGDATA/venv2023/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute self.error_handler.check_response(response) File "/home/ian/2023_BIGDATA/venv2023/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace)selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally. (unknown error: DevToolsActivePort file doesn't exist) (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.) 실습 코드from selenium.webdriver.common.by import Byfrom selenium import webdriverchrome_options = webdriver.ChromeOptions()chrome_options.add_argument('--headless')chrome_options.add_argument('--no-sandbox')chrome_options.add_argument("--single-process")chrome_options.add_argument("--disable-dev-shm-usage")driver = webdriver.Chrome('/home/ian/2023_BIGDATA/chromedriver')driver.implicitly_wait(2)driver.get('https://www.daum.net/')
-
해결됨빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
블로그 코드 기록
안녕하세요실습 1강을 듣고 있는 수강생입니다.오늘 블로그를 개설하여 수업 내용을 기록하였는데요, 제가 실습 코드를 자세하게 서술하는건 아닌지 걱정되어 여쭤보게 되었습니다.게시글 상단에 해당 인프런 강의 링크를 기재하였는데요,데이터 스크래핑데이터 크롤링환경세팅실습 코드 기록하는 것에 대해 의견 주시면 코드 수정하겠습니다!감사합니다.
-
해결됨빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
Replica Placement 질문
안녕하세요. 영상 7분 30초 경에 있는 ppt가 Replica Placement 를 설명해주고 있는데요.1번 단계에서 local rack에 replica를 하나 생성한다고 되어있는데 생성 위치가 same node of local rack 인가요? 아니면 different node of local rack 인가요?그림을 보면 same node of local rack 인데, 같은 노드에 replica를 배치하면 어떤 의미가 있나 궁금해서 질문 드립니다.감사합니다.
-
해결됨빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
실습 1과 Virtualbox 질문
안녕하세요! 제 OS는 윈도우인데요, 강의 섹션 1을 듣다가 궁금한 점이 있어서 질문을 올리게 되었습니다.강의 소개에 [OS] 우분투 or 리눅스[머신사양]- Aws t2.medium 2 Core 4GB // ec2 free.tier 참석은 가능 - Virtualbox 이용하여 위 OS로 참석가능이라고 안내되어 있는데요, 섹션 1 Data Acquisition [Basic] Crawling and Scraping(Urlib, BS4, Selenuim)을 실습할때부터 virtualbox 설치 후 우분투 환경에서 실습해야되는건지 궁금합니다.즉, 강의(섹션 15개) 중에서 어떤 섹션부터 리눅스와 그 Virtualbox 가 필요한지 궁금합니다! 섹션 1의 이론강의를 본 후 실습영상을 보고 따라하려고 하는데, 이때 윈도우에서도 가능한건지 아니면 지금부터 virtualbox상에서 우분투로 진행해야 되는건지 궁금합니다.감사합니다!