몰라도 돼!

Diaries/육아일기 2015/04/20 08:33 용비
며칠 전의 일이다.

요즘 딸 예린이가 심상치 않다. 사춘기인가?
사건의 발단은 이렇다.

우리 딸은 자기 방에서 혼자 자겠다고 해서 이불을 새로 사줬더니 얼마 못가서 다시 안방에 찾아왔다. 이유는, 혼자 잠을 자려고 하니 무섭고 잠이 안 온다는 것이다. 그래서 요즘 내 옆에서 내 손을 꼭 잡고 잠을 잔다. 엄마 옆도 아니고..ㅠ.ㅠ

그 날도 언제나처럼 잠을 자기 위해서 안방에 이부자리를 펴고 누웠다. 그런데 아뿔싸! 자리를 잘못 잡았다. 평소에는 아내와 나 사이에 예린이가 누워 자는데, 그 날에는 아무 생각없이 예린이를 한쪽 구석으로 몰고 아내와 내가 나란히 누웠다. 평소처럼 예린이 손을 잡으려고 하는데 예린이 손이 항상 있던 자리에 없었다.

왠일인지 돌아보니 예린이가 한쪽 구석에서 등을 돌리고 못본체하고 있는 것이 아닌가? 순간 난감했지만, 즉시 수습에 들어갔다.

"우리 딸. 아빠 손!"
"싫어. 아빠는 엄마랑 자!" (응? 그거야 당연하지. 근데 왜 이런 일로 니가 삐지는 건데?)
"아니야, 예린이가 엄마랑 아빠 사이에서 자야지. 자 이리와, 아빠가 옮겨줄께. 그런데 우리 딸 손이 어디갔지?"
"몰라도 돼!"

이렇게 이야기가 시작되었다.
이야기가 조금 더 진전되었다.

"우리 딸. 냄새 나네. 우리 딸 방귀 냄새인가?"
원래는 "아니, 나 아니야" 이렇게 얘기했어야 했는데,
그때부터 우리 딸, 모든 대답이 "몰라도 돼!"였다.

"아빠랑 엄마가 옆에서 자는데 왜 우리 딸이 삐졌지?"
"몰라도 돼!"
"그럼 니가 가운데 올래?"
"몰라도 돼!"

졸립기도 하고, 달래는 데 지치기도 해서 마지막으로 물었다.
"우리 딸, 이름이 뭐였더라?"
"몰라도 돼!"

그때부터 나의 폭주(?)가 시작되었다.
"오, 그래? 야, 몰라도 돼! 이제 자자."
"몰라도 돼! 아빠 손잡아줘!"
"야, 몰라도 돼! 너 자꾸 그러면 아빠가 또 육아일기에 올린다!"
"...."

결국 예린이 울었다. 그것도 서럽게. 한밤중에 애 울렸다고 마누라한테도 혼나고..-.-
그런데 결국 왜 아빠랑 엄마가 나란히 누워 자는데 삐졌는지 대답을 못 들었다.

얘가 벌써 사춘기인가...
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://www.yongbi.net/rss/response/683

삶이란 선택의 연속이다.
다른 이들과의 관계 속에서 이루어지기 때문에 그만큼 주변에 영향을 받기도 한다.

kt에서의 지난 3년간은 최대한 선택의 순간에 따른 고민,
주변 상황의 변화에 따라 내가 받는 영향을 최소화하기 위해서 "숨어 있으려고" 많은 노력을 했다.
그래서 나름 평온한 한 세월을 보냈다고 말할 수 있을 것 같다.

그런데, 오늘로 다시 세상 앞에 맨몸으로 나서게 되었다.
뒤에 숨어 있을 수 있는 상황을 만들어 주던 주변 환경이 없어졌기 때문이다.

그래서 이제 다시 몇가지 고민을 시작하게 된다.

- 앞으로 무엇을 할 것인가?
- 어떻게 해야 담당, 단 평가에 이바지를 하면서 보람찬(?) 일을 할 수 있을까?
- 앞으로 닥칠 많은 상황, 많은 커뮤니케이션에서 우리에게 유익한 최고, 최선의 결과를 얻으려면?

사람은 지난 후에 후회하는 경우가 많다.
나도 물론 그렇다.

- 조금 더 일찍 좀 더 적극적으로 움직이려고 할 걸 그랬나?
- 조금 더 내 시간을 투자해 미리 고민해 볼 것을 그랬나?

어찌 되었든, 작년 말 조직개편 이후로 앞으로 하게 될 것이라는 생각을 하긴 했지만,
시작은 우리 팀장님이 퇴사를 했는데, 팀은 없어지지 않아서 시작되었다.

아, 숨어 있고 싶은데 숨어 있을 데가 없다.
이제 내가 다른 사람들이 숨어 있을 수 있도록 해야 할 때인가?
하지만, 숨어서 하고 싶은 일들이 많은데....ㅠ.ㅠ

아, 심란하다, 심란해.
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://www.yongbi.net/rss/response/682

(Chapter 3) 16. RDD Operations

Spark 2015/04/08 13:21 용비

RDD 다음 2가지 형태의 Operation 지원한다.

  • Transformation
  • Action

Transformation map, filter 같은 새로운 RDD return하는 RDD상의 operation이다. Action driver program으로 결과를 return하거나 storage 결과를 write하고, count first 같은 연산을 시작하는 operation이다. Spark에서는 transformation action 아주 다르게 취급한다. 따라서, 여러분이 수행하고자 하는 작업의 형태에 대해서 이해하는 것이 아주 중요하다. 만약 여러분이 여전히 주어진 기능에 대해서 transformation인지, action인지 혼란스럽다면 return 타입을 통해 있다. Transformation 새로운 RDD return하지만, action 다른 data type return한다.


Transformations


Transformation 새로운 RDD return하는 operation이다. Lazy evaluation section에서 논의되겠지만, transformed RDD 단지 여러분이 action에서 사용할 , 느긋하게(lazily) 계산된다. 많은 transformation(변형) element측면에서 일어난다. Transformation 한번에 하나의 element상에서 동작하지만, 모든 transformation 그런 것은 아니다.


예를 들면, 수많은 메시지를 담고 있는 log.txt라는 로그 파일을 가지고 있다고 생각해보자. 그리고 중에서 error 메시지만을 추출하고 싶다. 여기에 앞에서 보았던 filter transformation 사용할 있다. Spark 3가지 언어로 filter API 살펴보면 다음과 같다.


Example 3-8. Python filter example

inputRDD = sc.textFile("log.txt")

errorsRDD = inputRDD.filter(lambda x:"error" in x)


Example 3-9. Scala filter example

var inputRDD = sc.textFile("log.txt")

var errorsRDD = inputRDD.filter(line => line.contains("error"))


Example 3-10. Java filter example

JavaRDD<String> inputRDD = sc.textFile("log.txt");

JavaRDD<String> errorsRDD = inputRDD.filter(

    new Function<String, Boolean>() {

         public Boolean call (String x) {return x.contains("error");}

    }

);


Filter operation 기존의 inputRDD 대한 돌연변이가 아님에 주의하라. 전혀 새로운 RDD 대한 포인터를 return한다. inputRDD 프로그램내에서-예를 들어, 다른 단어들을 검색하는데-나중에 재사용할 있다. Warning이라는 단어를 검색하는데 inputRDD 사용해보자. , 새로운 transformation union 사용하여 error warning 단어를 포함하고 있는 모든 line 출력할 있다. 이에 대한 Python code 있지만, union() function 3가지 언어에서 모두 동일하다.


Example 3-11. Python union example

errorsRDD = inputRDD.filter(lambda x:"error" in x)

warningsRDD = inputRDD.filter(lambda x:"warning" in x)

badLinesRDD = errorsRDD.union(warningsRDD)


union filter와는 약간 다르다. 하나의 RDD 아니라 2개의 RDD 가지고 동작하기 때문이다. Transformation 복수 개의 input RDD 가지고 동작할 있다.


끝으로, transformation 사용하여 서로 다른 새로운 RDD 이끌어낼 , Spark 다른 RDD 사이의 dependency 집합을 추적하고 유지한다. 그것을 lineage graph라고 한다. Spark 요구에 맞춰 RDD 계산할 , 정보를 이용하고 Persistent RDD 일부 정보가 유실되었을 , 이를 이용해 복구한다.



<Figure 3-1. RDD lineage graph created during log analysis>

받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://www.yongbi.net/rss/response/681