묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Airflow 마스터 클래스
bash operator 관련 문의입니다
airflow에서 example_complex에 dag 코드가 이렇게 적혀있던데수업꺼랑 좀 코드 차이가 있어서요!스케쥴이나 import하는거나 변경을 어떻게해야할지 몰라서 문의드립니다
-
해결됨실리콘밸리 엔지니어와 함께하는 Apache Flink
Flink 2.0 버전부터 스칼라를 더이상 지원하지 않네요
"3. Apache Flink와 Apache Spark의 차이점" 강의에서 Scala와 Java를 메인으로 지원한다고 하셨지만 Flink 1.17에서 deprecated 되었고 2.0부터는 더이상 지원하지 않네요. Scala 유저로서 안타깝습니다 ㅠ 강사님은 현업에서 자바로 사용하고 계신가요? 참고: https://cwiki.apache.org/confluence/display/FLINK/FLIP-265+Deprecate+and+remove+Scala+API+support
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
충분히 큰 파티션 생성시 궁금증이 존재합니다.
메시지 키가 있을 경우 전달되는 파티션이 변경되는 것을 방지하기 위해 충분히 큰 파티션으로 생성을 해야한다. 해당 부분에 대해 궁금한 점이 생겨 질문올립니다. 여기서의 충분히 큰 파티션은 어떻게 산정을 하면 좋을까요? Spring Application으로 Consumer를 구현한다고 했을 때, 충분히 큰 파티션 생성 시 Consumer : Kafka Topic = 1 : N구조로 구독을 하는 방향으로 만들면 되는 건 지 궁금합니다.
-
미해결Airflow 마스터 클래스
스케쥴러 - DAG 파싱 부하 줄이는 과정 질문
안녕하세요 김현진 선생님강의 잘 듣고 있습니다. 아래의 퀴즈를 풀다가 궁금한 점이 생겨서 질문을 남깁니다. 스케줄러의 DAG 파일 파싱 부하를 줄이기 위해 권장되는 코드 작성 방법은 무엇일까요? --> 라이브러리 import 문을 Python callable 함수 내부로 옮긴다. 위 설명을 이해하기 위해서 상황을 가정해보았는데요,python callable 함수 외부에 선언된 API 호출문이 있는 경우를 피해야하고, 만약 그렇게 되면스케쥴러가 DAG을 파싱할 때마다 실행되는 상황이 되는 것이 맞을까요?
-
미해결실리콘밸리 엔지니어와 함께하는 Apache Flink
Data Sink Topology 질문 있습니다
이 부분도 이해가 잘 안 가서 추가로 질문드려요. Sink 과정을 자세히 쪼개보면 SinkWriter, Committer, Global Committer로 나눌 수 있는데, SinkWriter로 로컬에 데이터를 임시로 쓰면 Committer가 커밋을 수행한다는 내용이 맞나요? 그리고 Topology 용어도 궁금한데요 Topology가 네트워크 시간에 노드들을 연결해놓은 방식이라고 배웠었는데요 여기서 Topology가 어떤 뜻으로 사용되나요? (강의 덕분에 단어도 많이 알아가네요) 마지막으로 flink 문서를 찾아보니 SinkWriter, Committer, Global Committer 클래스가 삭제 되었다고 나오는데요, 버전업이 되면서 이제는 이런 방식으로 동작하지 않는 건가요? 답변 미리 감사드립니다.. 🙌 저는 오늘 이까지 들으려구요. 휴가 잘 다녀오세요!!!
-
해결됨실리콘밸리 엔지니어와 함께하는 Apache Flink
State Management & Fault Tolerance 부분 설명이 하나도 이해가 안 돼요
안녕하세요 강사님, 강의 중 이 페이지가 도저히 이해가 안 돼서 추가적으로 (되도록이면 한글로) 풀어서 설명 부탁드려도 될까요? 질문드릴 내용과 제가 이해한게 맞는지 확인하는 부분 두 부분으로 나눠서 작성해두었습니다. [질문드릴 내용]First Class Support에 대해서 궁금합니다. 왜 First Class라는 용어를 사용하나요?Periodic checkpointing, Robust의 차이가 궁금합니다. 유추상.. Periodic checkpointing은 주기적으로 체크포인트를 지정해서 체크포인트 기준으로 다시 동작시키기 때문에 중복 처리를 할 수 있는데, Flink는 exactly once를 지원하기 때문에 무조건 한 번만 실행함을 보장하는 건가요?Backpressure는 데이터가 많이 들어와 병목이 생길 때 처리인데, Spark는 지원 범위가 좁고 Flink는 세밀하게 지원 가능한건가요?추가로 fine-grained 용어가 무슨 뜻인지도 궁금합니다. [제가 이해한게 맞는지 확인 부탁드려요]maintain state across events: flink가 event 기반으로 동작하고, 이벤트간의 상태를 알고 있다는 뜻인가요?Spark이 Standalone하고 윈도우 사이에 연결이 없다: 추측상 데이터를 윈도우 단위로 잘라서 처리하고, 윈도우끼리 상태를 공유하지 않는다는 뜻 맞을까요? [설명 스크립트]Apache Flinke Better Fault Tolerancee-Consistency를 가지고요.Across Events 간의 maintain 합니다.예를 들어서 유저 간의 세션 데이터를 다 계속 모아서 사용할 수가 있어요.그에 반해서 Spark는 심플하고요.Standalone, 윈도우 간에 연결하는 게 없고요.Light, Stateful, Workload라고 생각하시면 됩니다.스파크는 스테이트풀 스트림을 베이직 서포트만 한다 고 하는 거고요.Flink는 Across 이벤트별로 스테이트를 메인테인하기 때문에 First Class Support로 시작할 때부터 그런 식으로 만들었습니다.체크포인트 측면에서도 Spark는 Periodically 체크 포인트를 하지만 Flink는 Robust, Exactly Once 체크포인트를 지원해서 아 주 작은,very low한 오버헤드를 가지고 있습니다Backpressure 같은 경우는 데이터가 엄청나게 많이 들어오잖아요 그럴 경우에 어떻게 핸들할 건가 기본적인 것만 스파크는 서 포트를 하구요 fine-grained 하지않습니다.그에 반해서 이제 Flink 같은 경우에는 백프레셔 메카니즘이 기본적으로 빌트인되어있기 때문에 Smooth flow control과 stability가 같이 들어 있습니다.
-
미해결dbt, 데이터 분석 엔지니어링의 새로운 표준
dbt의 한계점
안녕하세요, 강사님이 실무에서 dbt를 사용하시면서 느끼신 단점 혹은 한계점이 어떤 게 있는지 궁금합니다.예시로, connection은 너무나 많고, 각각의 구현에 의존하다 보니 생기는 불편한 점이 종종 있습니다. GCP BigQuery의 경우 custom labeling이 dataset 단위는 불가능, table 단위로만 가능하기 때문에 dataset 단위로 cost가 측정되는 GCP 특정 상 custom label 단위로 cost breakdown이 어려워진다는 한계점이 있습니다. (as of 2025.10)
-
미해결카프카 완벽 가이드 - 코어편
카프카 학습과 관련하여 질문 드립니다
최근 카프카 버전에저는 zookeeper 가 아닌 KRaft 를 사용하는 것으로 바뀌는 등 몇가지 차이점이 있는데 강의 내용으로 학습한 후 변화된 버전에 맞춰서 변경할 때 러닝커브가 어느 정도가 될지 궁금합니다
-
미해결[2025] 비전공자도 한 번에 합격하는 SQLD 올인원
SQLD 자격증
안녕하세요 SQLD 개발자 자격증을 취득하면 빅데이터분석 자격증을 취득하는데에 도움이 될까요?감사합니다!
-
미해결dbt, 데이터 분석 엔지니어링의 새로운 표준
강의 관련 질문
안녕하세요 강사님dbt랑 airflow를 현재 수강중인 직장인입니다.배울수록 굉장히 활용범위가 넓은 툴이라고 생각이 됩니다. 두가지 질문 드리고 싶은데요1) 현재 저는 dbt+Airflow 기반으로 CRM 분석 마트 테이블을 팀에 적용하려고 하고 있습니다. 현재 raw테이블을 자동화해서 airflow로 db에 적재하여 사용하고 있는데요, 조인 결합, 가공을 통한 2차, 3차 테이블들은 현재 수동으로 만들어지고 있고 이를 자동화하려고 하고 있는데 현재 운영 및 성과 분석을 위한 너무 많은 테이블이 생기면서 점점 복잡해지고 있어 처음 만든 저도 헷갈려지는 단계에 왔는데...설계 관리(테이블간 관계, 단계로직을 정리하여 적재)하는 것에 대한 노하우가 있으신지 궁금합니다. 그리고 설계 이후 dbt로 만든 모델을 팀원들(분석가나 마케터) 쉽게 활용할 수 있게 하려면, 어떤 방식으로 문서화나 공유를 하시나요?2) Airflow DAG에서 dbt run/test를 통합할 때, 실행 단위를 모델 단위로 쪼개는 게 좋은가요, 아니면 전체 프로젝트 단위로 돌리는 게 좋은가요?
-
해결됨실리콘밸리 엔지니어와 함께하는 Apache Flink
kafka 단독 실시간 데이터 처리보다 flink를 추가로 구축하고 사용시의 장점에 대해 질문 드립니다.
안녕하세요, 강의 잘 들었습니다.아직 실무에 flink를 사용해 본 적이 없어 조금 더 구체적인 장점등을 알고 싶어 질문 드리게 되었습니다.사실 기존에는 kafka만을 사용해서 실시간 데이터 처리를 하는 사례도 많았던 것 같은데이 때 추가로 flink를 사용할 때 kafka만을 사용할 때 보다 어떤 부분이 더 나은지 등에 대해 조금 궁금해져서 질문 드립니다.
-
미해결카프카 완벽 가이드 - 코어편
파티션 증가시 비용 증가 고려
성능에 비해 용량 증가가 저렴하기때문에 파티션 증가가 극단적이지만 않다면 항상 유리할까요?파티션을 증가시키면 토픽을 재성성하지 않으면 다시 줄일수 없는 것으로 이해했습니다.그런데 실무에서 성능과 비용 문제 트레이드오프를 고려해야할지 궁금합니다.
-
미해결카프카 완벽 가이드 - 코어편
Kafka 초기 Partition 개수 설정 관련 질문
좋은 강의를 제공해주셔서 감사합니다.Kafka를 처음 설정할 때 Partition 개수를 1개로 두고 추후 확장하는 방식이 일반적인가요?아니면 초기에 적절한 Partition 개수를 여유롭게 미리 설정하는 것이 좋을까요?또한, 이러한 설정은 멀티 노드 Kafka 클러스터 구성 여부에 따라 달라질 수 있는지도 궁금합니다.
-
해결됨베개 투자법: 자면서 돈 버는 AI 주식 자동 매매 머신
13,14강 외부 API 설정 오류
.env 폴더에 URL 등 key를 넣었는데도 에플리케이션 스타트업 fail이 뜹니다. 뭐가 문제일까요 ㅠㅠ
-
미해결카프카 완벽 가이드 - 코어편
VM 과 도커의 차이
안녕하세요. 강의 수강 중 궁금한게 있어서 질문 남깁니다.강의는 VM 에 Ubuntu 와 kafka 를 설치하는 것으로 진행되는데, Docker 를 사용하는 것과 VM 을 사용하는 것에 차이가 있나요?VM 이 아니라 Docker 로 Kafka 를 띄우거나, Ubuntu 를 띄우고 Kafka 를 설치해도 동일하지 않나 생각이 들더라고요.
-
해결됨15일간의 빅데이터 파일럿 프로젝트
클러스터 설정 오류
안녕하세요 선생님 클러스터 설정 시 오류가 발생하여 질문 드립니다. ㅜㅜ 다른 질문 글들을 참고하여Cluster 1 삭제 후 재설치도 해보았고,putty로 접속하여 rm -rf /dfs/nn 명령어로 디렉토리 삭제 후 cluster 재설치도 해보았는데계속 오류가 발생합니다. 원인과 해결 방법이 있을지 문의 드립니다.. * stderr로그 일부Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.SafeModeException): Cannot create directory /tmp. Name node is in safe mode. The reported blocks 0 has reached the threshold 0.9990 of total blocks 0. The number of live datanodes 0 needs an additional 1 live datanodes to reach the minimum number 1. Safe mode will be turned off automatically once the thresholds have been reached. NamenodeHostName:server01.hadoop.com at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.newSafemodeException(FSNamesystem.java:1448) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkNameNodeSafeMode(FSNamesystem.java:1435) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.mkdirs(FSNamesystem.java:3100) at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.mkdirs(NameNodeRpcServer.java:1123) at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.mkdirs(ClientNamenodeProtocolServerSideTranslatorPB.java:696) at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java) at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:523) at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:991) at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:869) at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:815) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1875) at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2675) at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1499) at org.apache.hadoop.ipc.Client.call(Client.java:1445) at org.apache.hadoop.ipc.Client.call(Client.java:1355) at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228) at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116) at com.sun.proxy.$Proxy9.mkdirs(Unknown Source) at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.mkdirs(ClientNamenodeProtocolTranslatorPB.java:640) at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:422) at org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:165) at org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:157) at org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95) at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:359) at com.sun.proxy.$Proxy10.mkdirs(Unknown Source) at org.apache.hadoop.hdfs.DFSClient.primitiveMkdir(DFSClient.java:2339) ... 18 more
-
미해결베개 투자법: 자면서 돈 버는 AI 주식 자동 매매 머신
fastapi를 이용한 뼈대 프로그램 소스 제공 가능 여부 문의드립니다. (6강_Python FastApi 기본)
6강에서 Cursor의 AI를 이용해서 프로그램의 뼈대를 만드는 부분에서 강사님과 같은 프롬프트를 써도 미묘하게 폴더 구조가 강사님과 다르게 작성이 됩니다. 프롬프트가 같다면 무조건 결과가 같은건지 아니면 다를 수도 있는지.. 가능하다면 강의에서 구성한 뼈대 부분을 파일로 제공해 주실 수 있는지 문의드립니다. (전부 화면을 보고 다 따라치려고 해도 강의 화면만 보고는 그것도 무리인거 같습니다.) 기왕이면 이후의 남은 강의들에도 소스 코드를 제공해 주시면 좋을 것 같습니다.
-
미해결Airflow 마스터 클래스
wsl 관련 질문입니다.!
https://inf.run/d2v1x이분과 같은 증상(?)이라 해야되나 wsl로 우분투 설치시에 저도 아이디 비밀번호 입력이 없었습니다. 그래서 재부팅후 설치를 헀는데 이런게 나오네용
-
미해결베개 투자법: 자면서 돈 버는 AI 주식 자동 매매 머신
[베개투자법 :자면서 돈버는 AI주식 자동매매머신] 종목을 100개까지 추가 하고자 합니다.
안녕하세요. 강의 잘 들었습니다. 프로그램도 잘 작동합니다. 단지 종목수가 적어 종목을 100개까지 추가하고자 합니다. 어느 부분을 수정해야하는지 문의 드립니다.
-
미해결카프카 완벽 가이드 - 코어편
vm 어댑터설정 문의
안녕하세요 강사님,네트워크 설정을 하려고 합니다.NAT없이 어댑터1에서만 호스트전용어댑터 를 사용하면 어떨지 궁금합니다. 이유는 아래 그림처럼 어댑터2,3,4가 비활성화되어있어 추가를 하지 못하는 상황이기 때문입니다. VM을 분명 기동하지 않았는데도요ㅠㅠ