묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결카프카 완벽 가이드 - 코어편
max.in.flight.requests.per.connection 의 설명이 조금 헷갈립니다.
안녕하세요. max.in.flight.requests.per.connection에 대한 설명이 조금 헷갈려서 질문드립니다. 강의를 들으면 하나의 request 안에 여러개의 배치를 함께 보내는 것처럼 말씀하시는 것처럼 보이는데, 하나의 요청에는 하나의 배치만을 담아서 보내지만 ack를 받지 못하고 계속 보낼 수 있는 요청의 개수가max.in.flight.requests.per.connection 인 것이 아닐까요?
-
해결됨Airflow 마스터 클래스
DAG 스케줄
with DAG( dag_id="shedule_3_hour", schedule="3 * * * *", start_date=pendulum.datetime(2023, 3, 1), catchup=False ) as dag: def select_fruit(): fruit = ['APPLE','BANANA','ORANGE','AVOCADO'] rand_int = random.randint(0,3) time.sleep(10) print(fruit[rand_int]) py_t1 = PythonOperator( task_id='py_t1', python_callable=select_fruit ) py_t1 처음 DAG을 시작(PAUSE)했을때는 2024-10-06, 06:01:47 UTC입니다. DAG이 2024-10-06, 06:03:00 UTC에 처음 시작될거라 예상했는데 왜 처음 DAG을 시작(PAUSE)한 시간인 2024-10-06, 06:01:47 UTC에 처음 실행하는지 궁금합니다.참고로 처음 실행되었던 작업에서도 오퍼레이터가 정상 실행되었습니다.물론 약 2분 후 2024-10-06, 06:03:00 UTC에 작업도 실행되었습니다.
-
해결됨Airflow 마스터 클래스
Next dagrun 문의드립니다
from airflow import DAG 2import pendulum 3import datetime 4from airflow.operators.python import PythonOperator 5import random 6import time 7 8with DAG( 9 dag_id="shedule_3_hour", 10 schedule="3 * * * *", 11 start_date=pendulum.datetime(2023, 3, 1), 12 catchup=False 13) as dag: 14 def select_fruit(): 15 fruit = ['APPLE','BANANA','ORANGE','AVOCADO'] 16 rand_int = random.randint(0,3) 17 time.sleep(10) 18 print(fruit[rand_int]) 19 20 py_t1 = PythonOperator( 21 task_id='py_t1', 22 python_callable=select_fruit 23 ) 24 25 py_t1Airflow Webserver UI DAG Detail페이지에 있는 내용 중 Next dagrun ~ 관련 항목이 이해가 안돼서 질문드립니다.UTC 기준 10:34입니다. 설명 편의를 위해 현재시간으로 지칭하겠습니다! Next dagrun이 2024-10-06T10:03:00+00:00 값을 가지는 이유가 궁금합니다.Next dagrun이 다음 DAG 실행 예정 시간인거같은데 왜 현재실행 보다 과거인지 모르겠습니다.2024-10-06T11:03:00+00:00이 맞는거 같아서요. 현재 시간이 10:34이고 3분마다 실행.10:03은 실행완료. 이후 11:03에 실행되어야함.Next dagrun create after : 다음 DAG은 11:03에 실행되어야하므로 11:03에 DAG Run 생성(11:03에 실행하는) DAG 기준으로 처리해야하는 데이터 범위는 10:03~11:03이므로 Next dagrun data interval end는 11:03, Next dagrun data interval start는 10:03.(1) Next dagrun 관련 항목의 정확한 의미와 Next dagrun과 Next dagrun create after 차이를 정확히 몰라서 생기는 문제 같기도 합니다.(1-1) Next dagrun 관련 항목의 의미아래 내용이 맞는지 확인 부탁드립니다! - Next dagrun: 다음 DAG 실행 예정 시간Next dagrun create after: 다음 DAG 생성 예정 시간Next dagrun data interval end: 다음 DAG 데이터 간격 종료 시간Next dagrun data interval start: 다음 DAG 데이터 간격 시작 시간 (1-2) Next dagrun과 Next dagrun create after 차이 Next dagrun 과 Next dagrun create after 은 항상 같나요? Next dagrun create after는 정해진 시간에 생성되고(3분 마다) Next dagrun 은 Next dagrun create after이후에 되는데 즉, DAG run이 생성되고 실행되는거 맞나요? (Airflow 공식 문서에 Web UI에 있는 항목별 의미를 알 수 있는 페이지가 있는지 찾아보았는데 없어서 질문드립니다!아래 링크보면 Airflow UI 설명은 간단하게 있는데 항목별 설명은 없네요...)https://airflow.apache.org/docs/apache-airflow/stable/ui.html)
-
해결됨스파크 머신러닝 완벽 가이드 - Part 1
spark 추가 학습 관련 질문
선생님 안녕하세요?좋은 강의 진심으로 감사드립니다. 이전에 질문드렸을때 part2 는 나올 계획이 없다고 답변주셨는데요혹시 spark를 좀 더 심화해서 공부해보고 싶은데 추천해주실 만한 책이나 자료가 있으실까요? 원서도 상관이 없습니다.물론 spark best book top 10 이런식으로 구글링하면 추천도서가 나오긴 하지만.. 혹시 선생님께서 개인적으로 좀 좋은 교재라고 생각하셨던 도서나 자료가 있으신지 궁금합니다.
-
미해결Airflow 마스터 클래스
DAG 자동화 문의
안녕하세요!dag 생성 중에 문의가 있어서 질문드립니다.저희가 dag파일을 생성할 때, 스케줄로 DAG 실행 주기를 설정하는데요.매번 공부하고 나서 docker compose down으로 컨테이너를 내리면, 실행 주기에 맞춰서 dag가 실행되지 않는 것 같아서요. 컴퓨터를 off한 상황에서도 postgres DB로 데이터가 적재되도록 만든 dag가 작성한 스케줄에 맞춰서 실행되려면 어떻게 해야하나요? 감사합니다!
-
미해결Airflow 마스터 클래스
airflow에 필요 패키지 설치방법 문의
안녕하세요!유튜브 API로 댓글 받아온 뒤, 텍스트 처리 후 postgres DB에 업로드하는 DAG 생성 py파일을 스터디 중에 있는데요.텍스트 처리할 때 필요한 아래 패키지를 설치하려고 다음과 같은 시도를 했습니다.# wsl에서 root 계정으로 진입 sudo docker exec -u root -it <계정명>-airflow-webserver-1 /bin/bash # 필요한 패키지 설치 apt-get update apt-get install default-jdk -y #Airflow 사용자로 전환su - airflow #패키지 설치pip install JPype1 pip install konlpy #컨테이너 종료 및 재시작sudo docker-compose down sudo docker-compose up 하지만 airflow UI에서는 다음과 같은 에러로 DAG를 만든 py파일이 보이지 않습니다.Broken DAG: [/opt/airflow/dags/youtube_to_postgres.py] Traceback (most recent call last): File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed File "/opt/airflow/dags/youtube_to_postgres.py", line 5, in <module> from konlpy.tag import Okt ModuleNotFoundError: No module named 'konlpy' 필요한 패키지를 설치하는 방법이 잘못되었을까요? 제가 설치해야하는 것들을 설치하는 방법을 알려주시면 감사하겠습니다!apt-get install default-jdk -ypip install JPype1 pip install konlpy
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
브로커의 장애복구 이후 처리과정에 대해서 질문드립니다.
안녕하세요. 강의 너무 잘 듣고있습니다. unclean.leader.election.enable=true 일때, ISR상태가 아닌 상태에서 브로커에 장애가 발생한 경우, 장애가 발생한 브로커를 되살렸을때 처리되지 못한 레코드는 어떻게 처리되나요? 위의 상황을 판단해보면, 아래와 같습니다.ISR여부와 상관없이 다른 리더파티션이 선출되어 작동장애가 발생한 브로커의 시스템에서는 OS레벨 이하의 장애가 아닌상황이라면 카프카 프로세스의 브로커와 다른 생명주기를 가진 OS레벨의 페이지캐시에 의해 파일시스템에 남아있음.브로커가 되살아날 경우 유실되었던 레코드를 포함시켜주는지, 삭제가 되어버리는지, 아니면 별도로 처리를 해야하는지 관련해서 처리 매커니즘을 제공하는것이 있는지 궁금합니다.
-
미해결mongoDB 기초부터 실무까지(feat. Node.js)
option usecreateindex is not supported 오류 나면은
await mongoose.connect(MONGO_URL); // 제거 하시고 사용 하세요 // 버전6부터 해당 옵션을 사용하지 않아도 돼요https://mongoosejs.com/docs/migrating_to_6.html(공식문서) 보세요. 참고하세요
-
미해결다양한 사례로 익히는 SQL 데이터 분석
ADSP자격증
다양한 사례로 익히는 SQL 데이터 분석(권철민 강사님)강사님 안녕하세요저는 백앤드 개발자로 3년간 일하다가 개발보다는 쿼리짜는 것에 더 흥미가 있어서 데이터 엔지니어쪽으로 전직하고 싶어서 이 강의를 구매했습니다. 저는 평소 데이터를 분석하고 쿼리를 짜는게 재미있고 꼼꼼한 성격이어서 데이터 관련 직무가 저와 잘 맞을거라고 생각하는데요!아래 두가지 질문드립니다~! 이 강의가 데이터 분석가를 위한 강의라고 보았는데 이 직무는 SQL쿼리조작+프로그래밍 능력 두가지가 필요한 것일까요? 프로그래밍의 비중이 개발자보다는 덜 한 직업인가요..?ADSP(데이터 분석 준전문가)는 해당 직무 및 이 강의와 관련이 있는 자격증인가요?
-
미해결카프카 완벽 가이드 - 커넥트(Connect) 편
일반적인 예시들이 궁금해서 질문 남깁니다.
안녕하세요, 카프카 코어편 보고 커넥트편까지 재밌게? 강의 시청 중입니다. 먼저 좋은 강의 감사합니다.커넥트를 배우면서 궁금한 점이 생겼는데요, 예를 들어 msa, 카프카로 구성된 환경에서 회원가입이라는 로직을 구현한다고 하면, http 요청을 받은 서버가 직접 RDB에 접근해서 데이터를 저장을 하는 것과,요청을 받은 서버가 카프카 브로커로 데이터를 메세지로 보내고, 브로커에서 sink 커넥터가 RDB에 데이터를 저장하는 방식,위 두 방식 중에 어떤 것이 일반적일까요? 회원가입처럼 단순히 저장하는 정도의 로직에서도 이벤트 기반의 아키텍처에서는 카프카를 활용하는 것이 장점이 클까요?
-
미해결Airflow 마스터 클래스
airflow를 도커없이 돌리면 안되나요?
안녕하세요. 에어플로우 wsl 설치할때 도커를 설치하는데요.클라우드에서도 그렇고 윈도우에서도 그렇고 우분투 위에서 그냥 airflow 설치하면 안되나요?꼭 도커를 써야하나요?
-
미해결Airflow 마스터 클래스
docker 설치 과정에서 Certification 문제
안녕하세요.Airflow 설치 과정에서 도커 설치 하려는데sudo apt-get update 치면Certificate verification failed: The certificate is NOT trusted. The certificate issuer is unknown. Could not handshake: Error in the certificate verification. 라고 뜹니다.구글링해서 https://velog.io/@hyojinnnnnan/%EB%A6%AC%EB%88%85%EC%8A%A4-curl-60-SSL-certificate-problem-unable-to-get-local-issuer-certificate 참고하여 보안 파일에 download.docker.com 를 추가했는데도 계속 동일한 오류가 뜨는데 어떻게 해결할 수 있나요? ㅠㅠ답변 부탁드립니다.
-
미해결[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
중고급 SQL과 실전 데이터 문의
안녕하세요. 다음 코스인 중고급SQL에서는 101 문제와 풀이가 있다고 하는데 문제는 저자분께서 직접 고안하신 건가요 아니면 다른 플랫폼을 이용하나요?
-
미해결실무형 데이터 분석을 위한 핵심 SQL
DuckDB API 사용시 Connection Error가 발생합니다.
실습 코드를 순서대로 진행하니 아래와 같은 에러가 발생했습니다.*********************확인해보니 3번째 셀에서 duckdb를 연결하고%sql duckdb:///duckdb.db 그 아래에서 다음과 API로 연결을 시도하면 계속 에러가 발생합니다.duckdb_con = duckdb.connect("duckdb.db") **********************그래서 노트북 세션을 초기화하고 duckdb.db 파일을 삭제하고 3번째 셀을 실행하지 않고 duckdb API로 바로 연결하니 그때서야 제대로 연결되었습니다.
-
미해결Airflow 마스터 클래스
아래 프로젝트가 가르쳐주신 내용으로 가능한 수준인지 문의드립니다.
현재 커리큘럼을 모두 수강 후에 아래 실습이 가능한지 여쭤봅니다!(파이썬으로 단순 분석 및 크롤링은 가능하다는 전제하에 airflow 배치 및 기타 기술적인 요소에 대해 궁금합니다.) 1~2주에 한번 배치 작업 Task 1 유튜브 A 채널의 영상 자막 + 댓글 크롤링Task 2 크롤링 된 컨텐츠 별 자막 내용에 기반하여 ChatGPT를 활용한 영상 내용 요약 -> 블로그 포스팅Task 3 컨텐츠별 자막 텍스트 분석으로 컨텐츠별 조회수, 댓글 수 , 긍부정 비율 대시보드 시각화 파이썬으로 크롤링 코드 및 텍스트분석이 가능하다는 전제하에,위 TASK들을 AIRFLOW를 사용해 자동화하는 프로젝트를 현재 영상에서 알려주시는 지식으로 구현가능한지궁금합니다!아직 끝까지 수강 전이라 질문의 내용이 부족할 수 있지만, 블로그포스팅 자동화, 대시보드 시각화 내용이 있는 듯 해서 여쭤봅니다!그리고 현재 커리큘럼에는 Api로 데이터 받아오는 실습만 있는데, 크롤링으로 데이터를 가져오게되면 달라지는 부분이 많을지도 궁금합니다.
-
미해결Airflow 마스터 클래스
어느순간 dags에 업로드해도 업로드가 되지않네요
airflow에서 잘되다가 윈도우 업데이트 이후 dags에 파일을 새로 생성해도 airflow에 추가가 되지 않습니다.해결을 어떻게 해야할까요?vlomes에 경로도 수정했이미 올라와있는 dags는 코드를 수정하면 반영은 되더라고요,
-
해결됨실무형 데이터 분석을 위한 핵심 SQL
만약 데이터 웨어하우스에서 분석한 내용을 다시 고객에게 서빙하고 싶다면 어떻게 하나요?
안녕하세요 한기용 강사님! 궁금한 내용이 있어 질문드려요 OLTP에 저장되어 있는 데이터를 OLAP로 가져와서 내부 직원들이 테이블을 분석하던 중 고객들에게 제공하면 좋을 새로운 데이터(예: 통계 데이터 등)가 재가공된다면 이 데이터를 어떻게 서빙하나요?재가공된 데이터를 OLTP 데이터 저장소(Postgres 등)에 다시 저장해서 이를 API에 연결해서 서빙하는지 궁금합니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
docker-compose 가 Docker Desktop 에서 빠진건가요? command not found 라고 뜨네요
m1 pro 사용 중이고 docker desktop 설치되어 있습니다. 찾아보니 docker desktop 설치 시 docker compose 도 같이 설치된다고 하던데.. 커맨드 자체가 없는거보니 뭔가 바뀐것 같네요. 아래처럼 수동으로 설치도 잘 안돼서 진행을 못하고 있습니다..
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
카프카의 도입 시기를 결정하는 노하우가 더 있을까요?
안녕하세요, 좋은 강의 너무나 감사드립니다.조금 추상적인 질문이어서 곤란하실 것 같아 죄송하네요..ㅎㅎ구체적으로는 말씀드리진 못 하지만, 현재 저희 회사에서 어떠한 하드웨어 장비를 통해 실시간으로 데이터를 수집/통계생성/조회 등의 서비스를 제공하려고 준비 중에 있습니다. 강의 중에 GPS 서비스에 대해 종종 언급하셨는데 그 경우와 유사한 IoT 서비스입니다.지금은 하드웨어 쪽에 투자를 하는 상황이라 간단하게 HTTP 통신으로 하드웨어 몇 대의 데이터를 수집하고 Spring Boot 서버가 데이터를 받아서 처리하고 있습니다.실제 제품 환경에서는 부하 등 여러 요소를 고려하여 MQTT 를 사용한 데이터 수집을 하려고 계획하고 있습니다. 그러던 차에 Kafka 에도 관심을 가져서 강의를 수강해봤는데 Kafka 가 생각보다도 훨씬 대형 서비스에서 써야 할 것 같아서 저희 회사 서비스에서 사용할 만한 건 아닌가...고민하다가 직접 여쭤보려고 합니다.하드웨어는 2초에 1번씩 데이터를 수집하고 전송합니다. 추측하건대 이후에도 1초에 수십 번의 트래픽이 발생하지는 않을 것 같습니다. 만약 그렇게 해야 하더라도 수십 번 수집한 데이터를 1~2초에 1번씩 전송해도 괜찮습니다.수집하고 전송할 데이터, 그러니까 Record 의 Value 는 JSON 형태이며 약 100byte 정도입니다.하드웨어 장비는, 하드웨어 담당자의 의견을 따르자면 최대 100만 대까지 생산하려는 것 같습니다.서비스는 물론 확장이야 할 수 있겠지만, 현재 이와 관련하여 구체적으로 구상된 사업 아이템은 없는 것 같습니다. 즉, 수집한 데이터를 사용하는 서비스는 하나만 있습니다.그러면 단순 계산해서 최대 1초에 100MB 의 요청 / 1초에 100만 번의 요청을 처리해야 한다면, 이정도면 Kafka 도입이 의미가 있을까요?강의에서 언급한 대로, Kafka 를 IaaS 로 운영한다고 하더라도 서버 비용이 월 몇 십만 원씩 내면서 도입할 가치가 있냐고 하면, 솔직히 그렇게 보이진 않거든요 결론적으로 질문은 아래와 같습니다.웬만한 대기업, 대형 서비스가 아니고서야 Kafka 도입은 오버스펙일까요?저희 회사처럼 단일 서비스에 대한 데이터 처리와 고가용성을 확보하려고 하더라도 Kafka 도입이 의미가 있을까요? 강의에서 언급된 인스턴스 스펙보다 낮은 수준의 인스턴스에서 Kafka 를 실행하는 건 괜찮을까요?Kafka 는 어느 정도의 트래픽이 발생해야 도입이 유의미할까요?Kafka 도입을 고려하는 시점에 대한 의사결정 요소에 어떤 것들이 있을까요? 키워드 위주로만이라도 설명해주시면 제가 한 번 조사해보도록 하겠습니다.
-
미해결Airflow 마스터 클래스
data_interval_start가 배치일로 나오는 이유 문의
안녕하세요.우선 강사님, 좋은 강의 잘 듣고 있습니다. [섹션 5. Template Variable > Airflow 날짜개념] 강의 관련하여 질문 드립니다. Airflow 2.10.0 버전 사용 중이며, 강의와 같이 테스트를 진행하였는데, data_interval_start이 이전 배치일이 아닌 배치일로 나와서 문의드립니다.DAG의 start_date를 2024년 9월 1일로 설정 후 소급 처리하였습니다. 아래와 같이 dag_run이 배치일일텐데, 왜 data_interval_start가 이전 배치일(2024.08.31)이 아닌 배치일로 나올까요?'dag_run': <DagRun dags_python_show_templates @ 2024-09-01 00:30:00+00:00: scheduled__2024-09-01T00:30:00+00:00, state:running, queued_at: 2024-09-06 09:11:26.187022+00:00. externally triggered: False>,'data_interval_end': DateTime(2024, 9, 2, 0, 30, 0, tzinfo=Timezone('UTC')),'data_interval_start': DateTime(2024, 9, 1, 0, 30, 0, tzinfo=Timezone('UTC')),'ds': '2024-09-01',