728x90
반응형

분류 전체보기 256

spark-submit으로 spark 코드 실행시 Non-ASCII character 에러 대처 방법

spark shell에서는 pyspark 코드가 실행되는데 .py 파일로 만든 후 spark-submit으로 실행하면 오류가 발생하는 경우가 있습니다. 제 경우에는 원인이 한글로 된 주석이 있어서였습니다. 해결 방법은 두 가지가 있습니다. 1. 한글로된 주석을 제거하기 2. py 파일을 utf8로 변경하는 방법 당연히 2번 방법을 원할 것입니다. 해결 방법은 아래와 같이 두 가지 중 하나를 선택하면 됩니다. 첫 번째, spark-submit을 실행하기 전 아래와 같이 pythonioencoding을 utf8로 변경합니다. export PYTHONIOENCODING=utf8 두 번째, 파이썬 파일애서 아래 코드르 추가합니다. import sys sys.stdout = open(sys.stdout.filen..

Spark에서 Dataframe을 이용하여 Hive 테이블 생성하기

df라는 데이터프레임이 있을 경우 아래와 같이 실행하면 tb_df라는 테이블이 생성된다. df.write.saveAsTable("tb_df") df.write.saveAsTable("tb_df") 만약에 기존에 동일한 이름의 테이블이 있다면 아래와 같은 에러가 발생할 것이다. Table `tb_df` already exists. 이런 에러가 발생한다면 두 가지방법으로 해결할 수 있다. 첫 번째 방법은 spark.sql을 이용하여 테이블이 있는 경우 삭제하는 것이다. spark.sql("DROP TABLE IF EXISTS tb_df") 두 번째 방법은 데이터프레임으로 테이블을 만들 때 기존에 테이블이 있다면 overwrite하는 방법이다 df.write.mode(SaveMode.Overwrite).sav..

Hive에서 파티션을 기준으로 데이터 삭제하기

Hive에서 데이터를 빠르게 삭제하는 방법은 파티션 기준으로 데이터를 삭제하는 것입니다. 파티션을 기준으로 데이터를 삭제하기 위해서는 데이터를 삭제하려는 기준이 파티션을 분할한 기준과 일치해야 합니다. ALTER TABLE table_name DROP PARTITION(파티션 분할 기준 컬럼='파티션명'); 위와 같이 파티션 분할 기준 컬럼과 파티션명을 이용하여 데이터를 삭제할 수 있습니다. 예를들어 보겠습니다. 아래 테이블은 2019년 1월부터 12월까지의 매출 데이터가 있는 테이블입니다. 테이블명 : FACT_SALES 파티션 기준 컬럼 : BASE_YM 파티션명 : 201901,201902.....201912 위의 테이블에서 2019년 03월 데이터만 삭제할 경우 아래와 같이 할 수 있습니다. AL..

강원국 작가님에게 배운 글쓰기 노하우

우연한 기회에 강원국 작가님께서 글쓰기 방법을 알려주시는 세미나에 참석했다. 나도 글 쓰는 것에 아주 약간 관심이 있다 보니 어떻게 글을 잘 쓸 수 있는지 궁금했다. 그래서 세미나에 참석했고 들었던 내용들을 아래와 같이 정리해봤다. 글쓰기 글쓰기는 말하는 것을 요약해서 적는 것이라도 생각하면 어렵지 않다. 독자가 누구인지 확실히 알고 그 사람의 수준에 맞게 써야 한다. 보고서라고 하면 읽는 사람의 요구사항이 무엇인지 정확히 파악하고 요구사항에 맞게 써야 한다. 또한 어떤 피드백을 받을 것인가에 대해서 시나리오를 세우고 그에 따른 답변도 함께 고려해서 써야 한다. 글쓰기를 잘하기 위해서 글을 잘 쓴다고 생각하는 사람을 정하고 그 사람의 글을 여러 관점에서 따라 써봐야 한다. 글을 쓰기 위해서는 많은 양의 ..

글쓰기(Writing) 2019.07.02

작전 - 적의 식량을 빼앗아라

우리에게 주어진 일을 성공적으로 끝내기 위해서 외부의 리소스를 활용하는 것은 성공에 한 걸음 더 나갈 수 있는 방법이다. 성공을 위해 다른 팀의 리소스를 활용할 수 있지만, 전쟁과 같이 빼앗을 수는 없다. 그렇다면 나에게 리소스를 주도록 만들어야 한다. 가장 좋은 방법은 상생이다. 우리의 성과가 그들에게로 성과로 인정이 된다면 함께 하지 않을 이유가 없다. 만약 그 리소스가 경쟁사에 있다면, 사람을 스카웃 하거나, 그 회사를 인수하여 리소스와 인력을 내 것으로 만들 수 있다. 그렇기 위해서는 비용이 발생하기 때문에 신중하게 고려해야 한다. 군사를 쓸 줄 알면 전쟁 중에 군사를 보충하지 않고, 식량을 세 번씩 나르지 않는다. 장비는 자국에서 가져가지만 먹을 건 적지에서 충당한다. 그래야 먹을 게 넉넉하다...

작전 - 차라리 졸속이 낫다

회사에서 일어나는 많은 일들은 정해진 기간, 비용, 인력들이 존재한다. 결과물을 만들기 위해 너무나 꼼꼼하고 공을 들여도 정해진 자원과 시간을 초과하면 인정을 못받거나, 결과물을 만드는 단계까지 도달하지 못하고 사라질 수도 있다. 그래서 졸속으로 빨리하는 것이 중요할 수 있다. "졸속"의 사전적 의미는 "어설프고 빠름"이다. 어설프고 완벽하진 않지만, 빠른 기간 안에 결과를 만들고 검증하는 단계를 거쳐 가능성을 확인후 더 많은 자원을 확보 받아 진행할 수 있다. 하지만 빠른 시간에 작은 가능성이라도 보여주지 못하면 기회조차 얻을 수 없다. 그래서 일을 할 때는 졸속으로 하되 빠른 피드백과 개선으로 더 나은 결과물을 만들도록 해야한다. 전쟁이란 이기더라도 오래 걸리면 군사력이 약해진다. 성을 공격하면 힘이..

아이의 참을성을 기를 수 있는 방법(카시트에서 떼를 부린다면...)

아이의 요구사항을 들어준다고 아이에게 도움이 되는 것이 아니다. 아이에게 스스로의 감정을 다스릴수 있는 방법을 학습할 기회를 제공해야 하는 것이 부모의 역할이다.당장 원하는 것을 해주는 것을 아이를 위한 것이 절대 아니다. 일관되게 아이에게 어떻게 하면 감정을 다스리는 방법을 학습하게 만들수 있을까를 고민해야 한다. 아이에게는 인지능력, 운동능력, 사회성, 언어능력, 감정, 창의성 등 여러개의 주머니가 있다. 주머니의 크기에 따라 아이가 해당 능력이 좋을수도 나쁠 수도 있다. 주머니의 크기가 다른 것은 타고난 기질 때문일 수도 있고, 가정, 사회 환경으로 인해 후천적으로 변화할 수도 있다.(부모님의 영향이 크다.)감정 주머니는 강하고, 과하고, 불편한 감정을 담아두는 역할은 한다. 이런 감정이 주머니에 ..

육아 2018.12.13

작전-전쟁에는 하루에 천금이 든다

전쟁에는 정신적, 육체적, 물질적 비용이 발생한다. 전쟁을 길게 끌어서 좋을 것이 없다. 전쟁을 통해 내가 얻을 수 있는 것과 전쟁으로 인해 발생하는 비용을 계산하고 내가 감당할 수 있는 기간을 고려해야 한다. 손자가 말하기를 군사를 일으킬 때는 전차 1,000대, 수송차량 1,000대, 완전무장한 병사 10만 명, 천 리 길을 옮길 식량이 필요하다. 그러자면 그 안팎의 비용에 외교사절 접대비, 장비 보수비, 병사 급료까지 하루에 천금이 든다. 그 다음에야 10만의 군사를 동원할 수 있다.돈을 많이 쓰면 이겨도 소용없고, 돈을 아끼자면 빨리 끝내거나 남의 것을 빼앗아서 써야 한다.

시계 - 승부는 싸우기 전에 결정된다

전쟁에서는 목숨을 걸고 하기 때문에 싸움에서 무조건 이겨야 한다. 회사가 전쟁터라면 회사에서 일어나는 프로젝트, 과제들이 하나의 전투라고 할 수 있다. 이런 전투에서 승리하기 위해서는 명확한 목표를 세워야 한다. 목표를 세울 때 묘산을 잘해서 타당성과 실현 가능성을 파악해야 성공적으로 전투를 마칠 수 있다.묘산이 잘못되면 아무리 많은 사람과 시간을 투입해도 좋은 결과를 얻을 수 없다. 그것은 결국 회사에서 일어난 전투에서 패배하는 것이다. 그렇기 때문에 전투를 시작하기 전에 목표를 명확하게 세우자.만약 묘산의 결과가 좋지 않다면, 다른 과제를 찾거나, 목표를 축소 또는 관점의 변화를 통해 가능성 높은 묘산을 구해야 한다.전쟁은 싸우기 전에 승률 계산을 잘해서 아군이 적보다 나은 요소가 많으면 이기고 적보..

시계 - 전쟁은 속임수다

회사 내부의 경쟁자, 우리 회사의 경쟁사와의 경쟁은 전쟁과 비슷한 점도 있고, 다른 점도 있다. 우선 승리해야 하는 것이 중요하다. 하지만 도덕적, 윤리적인 것들을 무시하고 이긴다면, 장기적으로는 나에게 부메랑이 되어 돌아올 수 있다. 그런면에서는 스포츠와 더 유사할 수 있다.손자가 이야기 하는 승부를 알수 있는 7가지 기준은 현재 상황에 빗대어 분석해보는 것은 중요하다. 이 기준을 현재 시대에 맞추면 아래와 같을 것이다. CEO, 오너 또는 리더는 어느 쪽이 훌륭한가?리더, 팀장은 누가 유능한가?고객 평가, 마켓 쉐어는 어느 쪽이 유리한가?법령은 어느 쪽이 잘 지키는가?어느 쪽 진영이 더 잘 단결돼있는가?직원들은 어느 쪽이 더 잘 훈련돼 있는가?상벌은 어느 쪽이 분명한가? 승리하기 위해서 우리가 할 수..

728x90
반응형