25%
52,800원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
PySpark Runtime Architecture 내용 중 질문이 있습니다!
Spark Architecture(스파크 아키텍처) 소개 강의 내용 중 뒷 단에 있는 node에도 JVM이 있는 걸로 보이는데 Application Master(in Worker Node) 안에 있는 JVM과 오른쪽 노드들 안에 있는 JVM간의 차이점과 역할이 궁금합니다!
- 미해결실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
docker 설치 이후에 터미널 여는 부분에서 막혔습니다
1:40 쯤 터미널 열어서 하시는데터미널 탭이 안보입니다.어떻게 해야하나요?윈도우 운영체제 입니다
- 미해결실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
app-<timestamp>-<executor_id> 폴더가 spark-events 내부에 생기게 하고 싶습니다.
안녕하세요? 강의 자료로 주신 docker-compose 파일을 바탕으로 실습을 하고 있습니다. 프로그램을 실행할 때 마다 app-<timestamp>-<executor_id> 형식의 폴더가 docker-compose.yml가 위치한 곳과 같은 곳에 생기는데, 저는 spark-events 내부에만 저장하고 싶은데 어떤 설정을 해야 하는지 잘 모르겠습니다... spark-defaults.confspark.eventLog.enabled true spark.eventLog.dir file:/tmp/spark-events spark.history.fs.logDirectory file:/tmp/spark-events 강의 자료에 나온 docker-compose.yml 중 spark의 volumes와 enviroment 부분 volumes: - .:/opt/bitnami/spark/work - ./spark_conf/log4j2.properties:/opt/bitnami/spark/conf/log4j2.properties - ./spark_conf/spark-defaults.conf:/opt/bitnami/spark/conf/spark-defaults.conf - ./spark-events:/tmp/spark-events environment: - SPARK_MODE=master - SPARK_RPC_AUTHENTICATION_ENABLED=no - SPARK_RPC_ENCRYPTION_ENABLED=no - SPARK_LOCAL_STORAGE_ENCRYPTION_ENABLED=no - SPARK_SSL_ENABLED=no - SPARK_USER=spark spark 프로그램 실행시 app 폴더가 생기는 사진
- 미해결실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
pyspark.SparkContext 실행 오류 관련 질문
안녕하세요. 실습 환경 구축 중 다음과 같은 에러 메세지가 발생합니다. 구글링을 통해 Java설치 및 JAVA_HOME 설정을 해줬는데 해결이 되지 않는 것 같습니다. 도움 부탁드립니다ㅠ
- 미해결실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
스파크 아키텍쳐 관련 문의 드립니다.
스파크 아키텍쳐 부분을 보는데 Yarn Runtime Architecture 에서 4.Negotiate resources 이후 5과정을 갈때 속해 있던 Slave Node 에서 실행되는게 아니라 굳이 다른 Slave Node 로 가서 실행을 하는데 이유가 있나요? 4.Negotiate resources 과정을 리소스 분배? 라우팅 같은 개념으로 이해를 하면 될까요?
- 미해결실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
3.0에서 추가된 shuffle_hash, shuffle_replicate_nl hint는 어떤 상황에서 쓰는게 좋을까요?
3.0에서 추가된 merge, shuffle_hash, shuffle_replicate_nl hint는 어떤 상황에서 효과적일까요? 문서에서는 아쉽게도 각 힌트가 뭘 수행하는 지와 BROADCAST > MERGE > SHUFFLE_HASH > SHUFFLE_REPLICATE_NL 순서로 힌트 우선순위를 정한다는 것만 적혀있네요. spark optimizer가 어떤 기준으로 join 전략을 택하는지도 알려주시면 좋을 것 같아요.
- 해결됨실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
데이터 엔지니터의 현 트렌드가 궁금합니다
안녕하세요완강후 카산드라 db 와 stream join한 강의를 다시 보고 카산드라에 대한 개념에 공부를 하던 와중 데이터 엔지니어의 현 트렌드에 대한 내용이 갑자기 궁금한데 물어볼곳이 없어서 질문을 좀 드려봅니다..제가 생각하기에 현 트렌트가데이터 엔진 프레임워크 : spark스케줄링 및 파이프라인 형성등 : airflow웨어하우스 : prestonosql : mongodbrdb : postgresmessage broker : kafka분석툴 : tableau등등 이정도로 요즘 잘나가는 프로그램들인것 같은데 맞을까요?spark stream을 사용하면서 mongodb 보다 cassandra를 사용하는게 좀더 효율이 좋은가요?개발자도 결국 트렌드에 맞게 공부하는게 자신의 커리어를 잘 쌓는게 아닐까 하는 생각이 요즘 계속 머리속에 맴도네요
- 해결됨실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
스칼라강의도 제작하신다고 하셨는데 계획하고 계실까요??
궁금해서 질문올려봅니다
- 해결됨실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
pyspark / spark 차이점 질문드립니다.
안녕하세요 선생님 🙂강의 초반부를 듣다가 궁금증이 생겨서 질문드립니다.pyspark의 경우 pandas와 거의 동일한 패키지 함수(? 함수라고 설명하는게 맞는지 모르겠네요..ㅎㅎ) 방식으로 구동되는 것으로 보이는데요.scalar를 기반으로한 spark도 pyspark와 유사하게 패키지의 함수를 사용하나요?스칼라 도큐먼트를 봐도 spark에서는 어떻게 사용하는것인지 감이 안와서 질문드립니다. ㅎㅎ (https://docs.scala-lang.org/ko/tour/tour-of-scala.html)오늘도 행복한 하루되세요!감사합니다.
- 미해결실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
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}
- 미해결실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
colab에 하둡이 설치되어 있는 걸까요?
Colab에 pyspark가 미리 설치되어 있지는 않지만!pip install pyspark명령으로 설치 후 사용 가능하더라구요.Colab에 자바와 하둡, 스파크가 이미 설치되어 있는 것으로 생각해도 될까요? 제가 강의로 이해하기로는하둡에 있는 일부 기능- 맵리듀스를 스파크가 대체할 수 있는데,기존 하둡과 호환성을 위해 다른 부분은 하둡 그대로 두고 그 부분만 스파크로 대체해야 하고그래서 하둡도 필요하고 스파크는 자바로 되어 있으니 자바도 필요하고,스파크 설치 후 이것을 파이썬으로 래핑한 pyspark를 실행하는 것으로그렇게 생각하고 있는데 이게 맞는지 모르겠습니다. SparkContext가 생성되면서 내부적으로 스파크 어플리케이션이 실행되나요? 아니면 데몬같은 것이 실행중인 상태인 걸까요? 너무 모른 채로 질문드려서 죄송합니다.
- 미해결실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
pyspark - collect error
안녕하세요! 좋은 강의 잘 듣고 있습니다.제공해주신 연습 예제부터 차근차근 실습해보고 더 큰 데이터로 학습 해보고자 컬럼수 10개 / 큰 용량의 csv파일로 학습중입니다. 변수만 바꾸고 코드를 동일하고 학습하고 있습니다.코드의 마지막 줄인results = avg_by_count.collect() print(results)이 부분에서 에러가 나서 어떻게 해결해야 하는지 질문드립니다. === 이것저것 검색해보다가 pyspark / python 버전이 안맞으면 에러가 날 수 있다고 보고 버전도 확인해봤습니다.print(sc.version)# 3.3.2print(sc.pythonVer)#3 .10print(sc.master)#local[*] 아래는 에러 전문입니다.1197 sock_info = self.ctx._jvm.PythonRDD.collectAndServe(self._jrdd.rdd()) 1198 return list(_load_from_socket(sock_info, self._jrdd_deserializer)) File /usr/local/spark/python/lib/py4j-0.10.9.5-src.zip/py4j/java_gateway.py:1321, in JavaMember.__call__(self, *args) 1315 command = proto.CALL_COMMAND_NAME +\ 1316 self.command_header +\ 1317 args_command +\ 1318 proto.END_COMMAND_PART 1320 answer = self.gateway_client.send_command(command) -> 1321 return_value = get_return_value( 1322 answer, self.gateway_client, self.target_id, self.name) 1324 for temp_arg in temp_args: 1325 temp_arg._detach() File /usr/local/spark/python/lib/py4j-0.10.9.5-src.zip/py4j/protocol.py:326, in get_return_value(answer, gateway_client, target_id, name) 324 value = OUTPUT_CONVERTER[type](answer[2:], gateway_client) 325 if answer[1] == REFERENCE_TYPE: --> 326 raise Py4JJavaError( 327 "An error occurred while calling {0}{1}{2}.\n". 328 format(target_id, ".", name), value) 329 else: 330 raise Py4JError( 331 "An error occurred while calling {0}{1}{2}. Trace:\n{3}\n". 332 format(target_id, ".", name, value)) Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.collectAndServe. : org.apache.spark.SparkException: Job aborted due to stage failure: Task 1 in stage 10.0 failed 1 times, most recent failure: Lost task 1.0 in stage 10.0 (TID 11) (b4b9f5895184 executor driver): org.apache.spark.api.python.PythonException: Traceback (most recent call last): File "/usr/local/spark/python/lib/pyspark.zip/pyspark/worker.py", line 686, in main process() File "/usr/local/spark/python/lib/pyspark.zip/pyspark/worker.py", line 676, in process out_iter = func(split_index, iterator) File "/usr/local/spark/python/pyspark/rdd.py", line 3472, in pipeline_func return func(split, prev_func(split, iterator)) File "/usr/local/spark/python/pyspark/rdd.py", line 3472, in pipeline_func return func(split, prev_func(split, iterator)) File "/usr/local/spark/python/pyspark/rdd.py", line 540, in func return f(iterator) File "/usr/local/spark/python/pyspark/rdd.py", line 2554, in combineLocally merger.mergeValues(iterator) File "/usr/local/spark/python/lib/pyspark.zip/pyspark/shuffle.py", line 253, in mergeValues for k, v in iterator: File "/usr/local/spark/python/lib/pyspark.zip/pyspark/util.py", line 81, in wrapper return f(*args, **kwargs) File "/tmp/ipykernel_35939/1438163465.py", line 11, in parse_line ValueError: invalid literal for int() with base 10: '61.760999927297242' at org.apache.spark.api.python.BasePythonRunner$ReaderIterator.handlePythonException(PythonRunner.scala:552) at org.apache.spark.api.python.PythonRunner$$anon$3.read(PythonRunner.scala:758) at org.apache.spark.api.python.PythonRunner$$anon$3.read(PythonRunner.scala:740) at org.apache.spark.api.python.BasePythonRunner$ReaderIterator.hasNext(PythonRunner.scala:505) at org.apache.spark.InterruptibleIterator.hasNext(InterruptibleIterator.scala:37) at scala.collection.Iterator$GroupedIterator.fill(Iterator.scala:1211) at scala.collection.Iterator$GroupedIterator.hasNext(Iterator.scala:1217) at scala.collection.Iterator$$anon$10.hasNext(Iterator.scala:460) at org.apache.spark.shuffle.sort.BypassMergeSortShuffleWriter.write(BypassMergeSortShuffleWriter.java:140) at org.apache.spark.shuffle.ShuffleWriteProcessor.write(ShuffleWriteProcessor.scala:59) at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:99) at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:52) at org.apache.spark.scheduler.Task.run(Task.scala:136) at org.apache.spark.executor.Executor$TaskRunner.$anonfun$run$3(Executor.scala:548) at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1504) at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:551) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:833) Driver stacktrace: at org.apache.spark.scheduler.DAGScheduler.failJobAndIndependentStages(DAGScheduler.scala:2672) at org.apache.spark.scheduler.DAGScheduler.$anonfun$abortStage$2(DAGScheduler.scala:2608) at org.apache.spark.scheduler.DAGScheduler.$anonfun$abortStage$2$adapted(DAGScheduler.scala:2607) at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62) at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55) at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49) at org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:2607) at org.apache.spark.scheduler.DAGScheduler.$anonfun$handleTaskSetFailed$1(DAGScheduler.scala:1182) at org.apache.spark.scheduler.DAGScheduler.$anonfun$handleTaskSetFailed$1$adapted(DAGScheduler.scala:1182) at scala.Option.foreach(Option.scala:407) at org.apache.spark.scheduler.DAGScheduler.handleTaskSetFailed(DAGScheduler.scala:1182) at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.doOnReceive(DAGScheduler.scala:2860) at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:2802) at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:2791) at org.apache.spark.util.EventLoop$$anon$1.run(EventLoop.scala:49) at org.apache.spark.scheduler.DAGScheduler.runJob(DAGScheduler.scala:952) at org.apache.spark.SparkContext.runJob(SparkContext.scala:2238) at org.apache.spark.SparkContext.runJob(SparkContext.scala:2259) at org.apache.spark.SparkContext.runJob(SparkContext.scala:2278) at org.apache.spark.SparkContext.runJob(SparkContext.scala:2303) at org.apache.spark.rdd.RDD.$anonfun$collect$1(RDD.scala:1021) at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151) at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:112) at org.apache.spark.rdd.RDD.withScope(RDD.scala:406) at org.apache.spark.rdd.RDD.collect(RDD.scala:1020) at org.apache.spark.api.python.PythonRDD$.collectAndServe(PythonRDD.scala:180) at org.apache.spark.api.python.PythonRDD.collectAndServe(PythonRDD.scala) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244) at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357) at py4j.Gateway.invoke(Gateway.java:282) at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132) at py4j.commands.CallCommand.execute(CallCommand.java:79) at py4j.ClientServerConnection.waitForCommands(ClientServerConnection.java:182) at py4j.ClientServerConnection.run(ClientServerConnection.java:106) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: org.apache.spark.api.python.PythonException: Traceback (most recent call last): File "/usr/local/spark/python/lib/pyspark.zip/pyspark/worker.py", line 686, in main process() File "/usr/local/spark/python/lib/pyspark.zip/pyspark/worker.py", line 676, in process out_iter = func(split_index, iterator) File "/usr/local/spark/python/pyspark/rdd.py", line 3472, in pipeline_func return func(split, prev_func(split, iterator)) File "/usr/local/spark/python/pyspark/rdd.py", line 3472, in pipeline_func return func(split, prev_func(split, iterator)) File "/usr/local/spark/python/pyspark/rdd.py", line 540, in func return f(iterator) File "/usr/local/spark/python/pyspark/rdd.py", line 2554, in combineLocally merger.mergeValues(iterator) File "/usr/local/spark/python/lib/pyspark.zip/pyspark/shuffle.py", line 253, in mergeValues for k, v in iterator: File "/usr/local/spark/python/lib/pyspark.zip/pyspark/util.py", line 81, in wrapper return f(*args, **kwargs) File "/tmp/ipykernel_35939/1438163465.py", line 11, in parse_line ValueError: invalid literal for int() with base 10: '61.760999927297242' at org.apache.spark.api.python.BasePythonRunner$ReaderIterator.handlePythonException(PythonRunner.scala:552) at org.apache.spark.api.python.PythonRunner$$anon$3.read(PythonRunner.scala:758) at org.apache.spark.api.python.PythonRunner$$anon$3.read(PythonRunner.scala:740) at org.apache.spark.api.python.BasePythonRunner$ReaderIterator.hasNext(PythonRunner.scala:505) at org.apache.spark.InterruptibleIterator.hasNext(InterruptibleIterator.scala:37) at scala.collection.Iterator$GroupedIterator.fill(Iterator.scala:1211) at scala.collection.Iterator$GroupedIterator.hasNext(Iterator.scala:1217) at scala.collection.Iterator$$anon$10.hasNext(Iterator.scala:460) at org.apache.spark.shuffle.sort.BypassMergeSortShuffleWriter.write(BypassMergeSortShuffleWriter.java:140) at org.apache.spark.shuffle.ShuffleWriteProcessor.write(ShuffleWriteProcessor.scala:59) at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:99) at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:52) at org.apache.spark.scheduler.Task.run(Task.scala:136) at org.apache.spark.executor.Executor$TaskRunner.$anonfun$run$3(Executor.scala:548) at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1504) at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:551) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ... 1 more ㅠㅠ혹시 해결방법을 아신다면 답변 부탁드립니다..감사합니다.!!!!
- 미해결실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
스트리밍 window 관련 질문드립니다.
spark streaming을 설명하시면서 광고로그를 join? 하는걸 예시로 들어주셨는데요, 노출이랑 클릭이랑 interval이 10분~30분 정도가 아니라 7일 이렇게 되는 경우에도 spark streaming으로 처리가 가능한가요?? 궁금합니다.
- 미해결실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
EMR 환경시 분산처리가능하게하는 conf 설정 문의
EMR 환경에서 spark_app = SparkSession.builder.appName(app_name).getOrCreate() 하면 자동으로 분산처리가 되나요? 아니면 conf를 따로해줘야하는지요? 따로 할경우는 어떻게 conf를 잡으면 될까요?
- 미해결실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
word.txt 파일이 없습니다. 추가 부탁드립니다. ㅎ
질문은 많으시면 많을수록 좋습니다. 가능한 빠른 답변 드리겠습니다.원활한 답변을 위해, 자세한 질문 사항 부탁드려요 :D
- 미해결실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
parquet read시 partition 개수
안녕하세요parquet을 read할때, 파티션 개수는 저장할때의 partition으로 고정될까요??parquet을 read 할때 partiton 1개당 size가 너무 커서, partiton 개수를 늘려서 read 하고 싶습니다. 혹시 방법이 있을까용? 감사합니다.
- 미해결실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
대용량 데이터 Join
안녕하세요대용량 데이터 join 방법에 대해 질문드립니다.source A,B,C가 있고 A와 B를 union 하고 C를 조인해야 하는 상황입니다. A, B, C 각각은 모두 대용량 데이터입니다.하지만, 이 코드를 실행하면 spark 내부적으로 C를 2번 read해 A와 C를 조인하고, B와 C를 조인하는 DAG이 생성되는 것을 UI에서 확인했습니다. 이에, C를 1번만 read하게 만들기 위해서 cDF.persist(StorageLevel.DISK_ONLY)를 중간에 삽입해, 원래 의도대로 A와 B를 union하고 C를 조인하도록 DAG을 변경하였습니다. 이런 상황에서 persist를 사용하지 않고 해결할 방법이 있을까요?
- 미해결실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
Word Count 예제를 통해 기본 문법을 알아보기
질문은 많으시면 많을수록 좋습니다. 가능한 빠른 답변 드리겠습니다.원활한 답변을 위해, 자세한 질문 사항 부탁드려요 :D 해당강의 앞에 RDD 를 만드는 강의가 하나 있을꺼 같은데 빠진것 같습니다. 해당강의 서두에서 RDD 를 만드는 방법을 배웠다고 하는데 그게 없습니다.