tag:blogger.com,1999:blog-2027910590415864962024-03-13T03:32:31.053-07:00nevatiaritika's Blognevatiaritikahttp://www.blogger.com/profile/16655501873541408940noreply@blogger.comBlogger63125tag:blogger.com,1999:blog-202791059041586496.post-11072132123168629832017-12-10T18:48:00.000-08:002018-05-20T21:25:03.842-07:00Apache Spark - A dummy's introduction - 4 (Example)<div dir="ltr" style="text-align: left;" trbidi="on">
<h2 style="border-bottom-color: rgb(196, 196, 196); color: #333333; font-family: arial, sans-serif; font-size: 20px; font-weight: normal; line-height: 1.5; margin: 0px;">
<div style="background-color: white; border: 0px; font-size: 14px; font-stretch: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; word-wrap: break-word;">
A dummy's introduction is split in 4 parts:</div>
<div style="background-color: white; border: 0px; color: #444444; font-family: "titillium web", sans-serif; font-size: 16px; font-stretch: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; word-wrap: break-word;">
</div>
<ol style="background-color: white; border: 0px; color: #444444; font-family: "titillium web", sans-serif; font-size: 16px; font-stretch: inherit; line-height: inherit; list-style: none; margin: 0px 0px 0px 35px; padding: 10px 0px 20px; vertical-align: baseline;">
<li style="border: 0px; font-family: inherit; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; list-style-type: decimal; margin: 0px; padding: 0px 0px 5px; vertical-align: baseline;"><span style="border: 0px; color: #333333; font-family: "arial" , sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-size: 14px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="http://www.nevatiaritika.com/2017/12/apache-spark-dummys-introduction-1.html" target="_blank">Architecture</a></span></span></li>
<li style="border: 0px; font-family: inherit; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; list-style-type: decimal; margin: 0px; padding: 0px 0px 5px; vertical-align: baseline;"><span style="border: 0px; color: #333333; font-family: "arial" , sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-size: 14px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="http://www.nevatiaritika.com/2017/12/apache-spark-dummys-introduction-2-data.html" target="_blank">Data Structure</a></span></span></li>
<li style="border: 0px; font-family: inherit; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; list-style-type: decimal; margin: 0px; padding: 0px 0px 5px; vertical-align: baseline;"><span style="border: 0px; color: #333333; font-family: "arial" , sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-size: 14px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="http://www.nevatiaritika.com/2017/12/apache-spark-dummys-introduction-3.html" target="_blank">Execution</a></span></span></li>
<li style="border: 0px; font-family: inherit; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; list-style-type: decimal; margin: 0px; padding: 0px 0px 5px; vertical-align: baseline;"><span style="border: 0px; color: #333333; font-family: "arial" , sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-size: 14px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="http://www.nevatiaritika.com/2017/12/apache-spark-dummys-introduction-4.html" target="_blank">Example</a></span></span></li>
</ol>
</h2>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; word-wrap: break-word;">
Consider the following the original code of one batch. It opens an input file, calls a process function on each of its rows and writes each of the processed input to an output file. It also prints the number of input rows in the end.</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; word-wrap: break-word;">
<br />
<!-- HTML generated using hilite.me --><br />
<div style="background: #ffffff; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;">
<table><tbody>
<tr><td><pre style="line-height: 125%; margin: 0;">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24</pre>
</td><td><pre style="line-height: 125%; margin: 0;"><span style="color: #008800; font-weight: bold;">private</span> <span style="color: #008800; font-weight: bold;">static</span> <span style="color: #008800; font-weight: bold;">final</span> String INPUT_FILENAME <span style="color: #333333;">=</span> <span style="background-color: #fff0f0;">"E:\\test\\input.txt"</span><span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">private</span> <span style="color: #008800; font-weight: bold;">static</span> <span style="color: #008800; font-weight: bold;">final</span> String OUTPUT_FILENAME <span style="color: #333333;">=</span> <span style="background-color: #fff0f0;">"E:\\test\\output.txt"</span><span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">public</span> <span style="color: #008800; font-weight: bold;">static</span> <span style="color: #333399; font-weight: bold;">void</span> <span style="color: #0066bb; font-weight: bold;">main</span><span style="color: #333333;">()</span> <span style="color: #333333;">{</span>
FileReader fileReader <span style="color: #333333;">=</span> <span style="color: #008800; font-weight: bold;">new</span> FileReader<span style="color: #333333;">(</span>INPUT_FILENAME<span style="color: #333333;">);</span>
FileWriter fileWriter <span style="color: #333333;">=</span> <span style="color: #008800; font-weight: bold;">new</span> FileWriter<span style="color: #333333;">(</span>OUTPUT_FILENAME<span style="color: #333333;">);</span>
String inputline <span style="color: #333333;">=</span> <span style="color: #008800; font-weight: bold;">null</span><span style="color: #333333;">;</span>
String outputline <span style="color: #333333;">=</span> <span style="color: #008800; font-weight: bold;">null</span><span style="color: #333333;">;</span>
<span style="color: #333399; font-weight: bold;">int</span> inputCounter <span style="color: #333333;">=</span> <span style="color: #0000dd; font-weight: bold;">0</span><span style="color: #333333;">;</span>
BufferedReader bufferedReader <span style="color: #333333;">=</span> <span style="color: #008800; font-weight: bold;">new</span> BufferedReader<span style="color: #333333;">(</span>fileReader<span style="color: #333333;">);</span>
BufferedWriter bufferedWriter <span style="color: #333333;">=</span> <span style="color: #008800; font-weight: bold;">new</span> BufferedWriter<span style="color: #333333;">(</span>fileWriter<span style="color: #333333;">);</span>
<span style="color: #008800; font-weight: bold;">while</span> <span style="color: #333333;">((</span>inputline <span style="color: #333333;">=</span> bufferedReader<span style="color: #333333;">.</span><span style="color: #0000cc;">readLine</span><span style="color: #333333;">())</span> <span style="color: #333333;">!=</span> <span style="color: #008800; font-weight: bold;">null</span><span style="color: #333333;">)</span> <span style="color: #333333;">{</span>
outputline <span style="color: #333333;">=</span> process<span style="color: #333333;">(</span>inputline<span style="color: #333333;">);</span>
bufferedWriter<span style="color: #333333;">.</span><span style="color: #0000cc;">write</span><span style="color: #333333;">(</span>outputline<span style="color: #333333;">);</span>
inputCounter<span style="color: #333333;">++;</span>
<span style="color: #333333;">}</span>
System<span style="color: #333333;">.</span><span style="color: #0000cc;">out</span><span style="color: #333333;">.</span><span style="color: #0000cc;">println</span><span style="color: #333333;">(</span>inputCounter<span style="color: #333333;">);</span>
<span style="color: #333333;">}</span>
<span style="color: #008800; font-weight: bold;">public</span> <span style="color: #008800; font-weight: bold;">static</span> String <span style="color: #0066bb; font-weight: bold;">process</span><span style="color: #333333;">(</span>String input<span style="color: #333333;">)</span> <span style="color: #333333;">{</span>
<span style="color: #008800; font-weight: bold;">return</span> input<span style="color: #333333;">.</span><span style="color: #0000cc;">toUpperCase</span><span style="color: #333333;">();</span>
<span style="color: #333333;">}</span>
</pre>
</td></tr>
</tbody></table>
</div>
<br />
<br /></div>
<pre style="color: #333333; font-size: 14px; tab-size: 4; white-space: pre-wrap;"><span style="font-family: "arial" , "helvetica" , sans-serif;">
</span></pre>
<pre style="color: #333333; font-size: 14px; tab-size: 4; white-space: pre-wrap;"></pre>
<pre style="color: #333333; font-size: 14px; tab-size: 4; white-space: pre-wrap;"><span style="font-family: "arial" , "helvetica" , sans-serif;">If we were to try to convert this existing batch to Spark, the following points could be handy:</span></pre>
<ol style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin: 10px 0px 0px;">
<li>Create the Spark Context</li>
<li>Use it to read the whole file as an RDD</li>
<li>Instead of calling process() on each line, just map the input RDD into a new processed RDD</li>
<li>Since we won't be running a loop for every line, how we calculate input count? Well, the process() function is called for every record in the RDD, so we create an Accumulator and increment its value every time it goes in the process() function.</li>
<li>Finally, we save the input as a text file, and done!</li>
</ol>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Here's converted code:<br />
<br />
<!-- HTML generated using hilite.me --><br />
<div style="background: #ffffff; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;">
<table><tbody>
<tr><td><pre style="line-height: 125%; margin: 0;">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23</pre>
</td><td><pre style="line-height: 125%; margin: 0;"><span style="color: #008800; font-weight: bold;">private</span> <span style="color: #008800; font-weight: bold;">static</span> <span style="color: #008800; font-weight: bold;">final</span> String INPUT_FILENAME <span style="color: #333333;">=</span> <span style="background-color: #fff0f0;">"E:\\test\\input.txt"</span><span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">private</span> <span style="color: #008800; font-weight: bold;">static</span> <span style="color: #008800; font-weight: bold;">final</span> String OUTPUT_FILENAME <span style="color: #333333;">=</span> <span style="background-color: #fff0f0;">"E:\\test\\output.txt"</span><span style="color: #333333;">;</span>
<span style="color: #008800; font-weight: bold;">public</span> <span style="color: #008800; font-weight: bold;">static</span> <span style="color: #333399; font-weight: bold;">void</span> <span style="color: #0066bb; font-weight: bold;">main</span><span style="color: #333333;">()</span> <span style="color: #333333;">{</span>
SparkConf conf <span style="color: #333333;">=</span> <span style="color: #008800; font-weight: bold;">new</span> SparkConf<span style="color: #333333;">().</span><span style="color: #0000cc;">setAppName</span><span style="color: #333333;">(</span>appName<span style="color: #333333;">).</span><span style="color: #0000cc;">setMaster</span><span style="color: #333333;">(</span>master<span style="color: #333333;">);</span>
JavaSparkContext sc <span style="color: #333333;">=</span> <span style="color: #008800; font-weight: bold;">new</span> JavaSparkContext<span style="color: #333333;">(</span>conf<span style="color: #333333;">);</span>
JavaRDD input <span style="color: #333333;">=</span> sc<span style="color: #333333;">.</span><span style="color: #0000cc;">textFile</span><span style="color: #333333;">(</span>INPUT_FILENAME<span style="color: #333333;">);</span>
Accumulator inputCounter <span style="color: #333333;">=</span> sc<span style="color: #333333;">.</span><span style="color: #0000cc;">doubleAccumulator</span><span style="color: #333333;">(</span><span style="color: #0000dd; font-weight: bold;">0</span><span style="color: #333333;">);</span>
input<span style="color: #333333;">.</span><span style="color: #0000cc;">map</span><span style="color: #333333;">(</span>row <span style="color: #333333;">-&</span>gt<span style="color: #333333;">;</span> process<span style="color: #333333;">(</span>row<span style="color: #333333;">,</span> inputCounter<span style="color: #333333;">));</span>
input<span style="color: #333333;">.</span><span style="color: #0000cc;">saveAsTextFile</span><span style="color: #333333;">(</span>OUTPUT_FILENAME <span style="color: #333333;">);</span>
System<span style="color: #333333;">.</span><span style="color: #0000cc;">out</span><span style="color: #333333;">.</span><span style="color: #0000cc;">println</span><span style="color: #333333;">(</span>inputCounter<span style="color: #333333;">.</span><span style="color: #0000cc;">value</span><span style="color: #333333;">().</span><span style="color: #0000cc;">longValue</span><span style="color: #333333;">());</span>
<span style="color: #888888;">//You could avoid the Accumulator and print the count by the count() function. </span>
<span style="color: #888888;">//But its not a good idea. Read below why</span>
<span style="color: #333333;">}</span>
<span style="color: #008800; font-weight: bold;">public</span> <span style="color: #008800; font-weight: bold;">static</span> String <span style="color: #0066bb; font-weight: bold;">process</span><span style="color: #333333;">(</span>String input<span style="color: #333333;">,</span> Accumulator inputCounter<span style="color: #333333;">)</span> <span style="color: #333333;">{</span>
inputCounter<span style="color: #333333;">.</span><span style="color: #0000cc;">add</span><span style="color: #333333;">(</span><span style="color: #0000dd; font-weight: bold;">1</span>d<span style="color: #333333;">);</span>
<span style="color: #008800; font-weight: bold;">return</span> input<span style="color: #333333;">.</span><span style="color: #0000cc;">toUpperCase</span><span style="color: #333333;">();</span>
<span style="color: #333333;">}</span>
</pre>
</td></tr>
</tbody></table>
</div>
<br />
<br /></div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Why didn't we use count() for printing the count of all lines? Because it is another action. We are already calling one action - saveAsTextFile. Once this action is performed, the input RDD is wiped off the memory. So if we write another action (say, input.count() ) then Spark will re-create the entire input RDD just to call one count function. To avoid multiple processing for multiple actions, we just use Accumulators instead.<br />
Some people persist the RDD in the memory for the count() function. This is still not as good, because persisting the RDD in the disk will block a sizable part of the memory and the access time will increase too. </div>
</div>
nevatiaritikahttp://www.blogger.com/profile/16655501873541408940noreply@blogger.com1tag:blogger.com,1999:blog-202791059041586496.post-52941827919071459902017-12-10T18:42:00.007-08:002018-05-20T21:25:03.914-07:00Apache Spark - A dummy's introduction - 3 (Execution)<div dir="ltr" style="text-align: left;" trbidi="on">
<h2 style="border-bottom-color: rgb(196, 196, 196); color: #333333; font-family: arial, sans-serif; font-size: 20px; font-weight: normal; line-height: 1.5; margin: 0px;">
<div style="background-color: white; border: 0px; font-size: 14px; font-stretch: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; word-wrap: break-word;">
A dummy's introduction is split in 4 parts:</div>
<div style="background-color: white; border: 0px; color: #444444; font-family: "titillium web", sans-serif; font-size: 16px; font-stretch: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; word-wrap: break-word;">
</div>
<ol style="background-color: white; border: 0px; color: #444444; font-family: "titillium web", sans-serif; font-size: 16px; font-stretch: inherit; line-height: inherit; list-style: none; margin: 0px 0px 0px 35px; padding: 10px 0px 20px; vertical-align: baseline;">
<li style="border: 0px; font-family: inherit; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; list-style-type: decimal; margin: 0px; padding: 0px 0px 5px; vertical-align: baseline;"><span style="border: 0px; color: #333333; font-family: "arial" , sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-size: 14px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="http://www.nevatiaritika.com/2017/12/apache-spark-dummys-introduction-1.html" target="_blank">Architecture</a></span></span></li>
<li style="border: 0px; font-family: inherit; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; list-style-type: decimal; margin: 0px; padding: 0px 0px 5px; vertical-align: baseline;"><span style="border: 0px; color: #333333; font-family: "arial" , sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-size: 14px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="http://www.nevatiaritika.com/2017/12/apache-spark-dummys-introduction-2-data.html" target="_blank">Data Structure</a></span></span></li>
<li style="border: 0px; font-family: inherit; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; list-style-type: decimal; margin: 0px; padding: 0px 0px 5px; vertical-align: baseline;"><span style="border: 0px; color: #333333; font-family: "arial" , sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-size: 14px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="http://www.nevatiaritika.com/2017/12/apache-spark-dummys-introduction-3.html" target="_blank">Execution</a></span></span></li>
<li style="border: 0px; font-family: inherit; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; list-style-type: decimal; margin: 0px; padding: 0px 0px 5px; vertical-align: baseline;"><span style="border: 0px; color: #333333; font-family: "arial" , sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-size: 14px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="http://www.nevatiaritika.com/2017/12/apache-spark-dummys-introduction-4.html" target="_blank">Example</a></span></span></li>
</ol>
</h2>
<h2 style="border-bottom-color: rgb(196, 196, 196); color: #333333; font-family: Arial, sans-serif; font-size: 20px; font-weight: normal; line-height: 1.5; margin: 0px;">
Introduction</h2>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Just knowing the data structure and its operations is not enough to understand how Spark operates. The order of execution matters. In fact, it is a concept which a developer has to always remember while writing the code so as to avoid any silly mistakes.</div>
<h2 style="border-bottom-color: rgb(196, 196, 196); color: #333333; font-family: Arial, sans-serif; font-size: 20px; font-weight: normal; line-height: 1.5; margin: 30px 0px 0px;">
Spark is lazy in execution</h2>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Always remember - Spark is lazy. Lazy is the keyword while writing code. What exactly do we mean?</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Now, we can either perform actions or transformations on the RDDs. The transformations always created another RDD and that's it. Let's say after the application finished, these newly transformed RDDs would be dumped. There is no scope of these RDD variables outside the application. However actions, they are different. They return values. Maybe files or integers but they return something which has a real purpose outside the scope of the application. </div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
So when we say Spark is lazy, Spark doesn't execute it's tasks until an action is performed. Meaning, Spark is aware that transformations yield no value and it does nothing until it sees that an action is really performed on the RDD. </div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Example: If we create an RDD of fruits, then we call the following functions:</div>
<ol style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin: 10px 0px 0px;">
<li>map - convert to upper case</li>
<li>filter - keep only starting with 'B'</li>
<li>save result as a file</li>
</ol>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
The code for the above example looks like this:<br />
<br />
<!-- HTML generated using hilite.me --><br />
<div style="background: #ffffff; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">JavaRDD input <span style="color: #333333;">=</span> sc<span style="color: #333333;">.</span><span style="color: #0000cc;">textFile</span><span style="color: #333333;">(</span><span style="background-color: #fff0f0;">"E:\\test\\input.txt"</span><span style="color: #333333;">);</span>
input<span style="color: #333333;">.</span><span style="color: #0000cc;">map</span><span style="color: #333333;">(</span>inputRecord <span style="color: #333333;">-&</span>gt<span style="color: #333333;">;</span> inputRecord<span style="color: #333333;">.</span><span style="color: #0000cc;">toUpperCase</span><span style="color: #333333;">());</span>
input<span style="color: #333333;">.</span><span style="color: #0000cc;">filter</span><span style="color: #333333;">(</span>inputRecord <span style="color: #333333;">-&</span>gt<span style="color: #333333;">;</span> inputRecord<span style="color: #333333;">.</span><span style="color: #0000cc;">startsWith</span><span style="color: #333333;">(</span><span style="color: #0044dd;">'B'</span><span style="color: #333333;">));</span>
input<span style="color: #333333;">.</span><span style="color: #0000cc;">saveAsTextFile</span><span style="color: #333333;">(</span><span style="background-color: #fff0f0;">"E:\\test\\output.txt"</span><span style="color: #333333;">);</span>
</pre>
</div>
<br />
<br /></div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
The steps 1 and 2, are transformations while step 3 is an action. Since Spark is lazy, nothing will really happen until Spark reads step 3. </div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
What we expect is:</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
<img class="confluence-embedded-image" data-base-url="https://confluence.rakuten-it.com/confluence" data-image-height="222" data-image-src="/confluence/download/attachments/1125691913/image2017-2-17%2015%3A43%3A8.png?version=1&modificationDate=1487313788546&api=v2" data-image-width="676" data-linked-resource-container-id="1125691913" data-linked-resource-container-version="10" data-linked-resource-content-type="image/png" data-linked-resource-default-alias="image2017-2-17 15:43:8.png" data-linked-resource-id="1125697496" data-linked-resource-type="attachment" data-linked-resource-version="1" data-location="Nevatia, Ritika | Ritika | FINAD > 4 - Execution > image2017-2-17 15:43:8.png" data-mce-src="https://confluence.rakuten-it.com/confluence/download/attachments/1125691913/image2017-2-17%2015%3A43%3A8.png?version=1&modificationDate=1487313788546&api=v2" data-unresolved-comment-count="0" src="https://confluence.rakuten-it.com/confluence/download/attachments/1125691913/image2017-2-17%2015%3A43%3A8.png?version=1&modificationDate=1487313788546&api=v2" style="margin-left: 2px; margin-right: 2px; max-width: calc(100% - 4px); vertical-align: text-bottom;" title="Nevatia, Ritika | Ritika | FINAD > 4 - Execution > image2017-2-17 15:43:8.png" /></div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
But what happens is:</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
<img class="confluence-embedded-image" data-base-url="https://confluence.rakuten-it.com/confluence" data-image-height="374" data-image-src="/confluence/download/attachments/1125691913/image2017-2-17%2015%3A48%3A11.png?version=1&modificationDate=1487314091103&api=v2" data-image-width="473" data-linked-resource-container-id="1125691913" data-linked-resource-container-version="10" data-linked-resource-content-type="image/png" data-linked-resource-default-alias="image2017-2-17 15:48:11.png" data-linked-resource-id="1125697533" data-linked-resource-type="attachment" data-linked-resource-version="1" data-location="Nevatia, Ritika | Ritika | FINAD > 4 - Execution > image2017-2-17 15:48:11.png" data-mce-src="https://confluence.rakuten-it.com/confluence/download/attachments/1125691913/image2017-2-17%2015%3A48%3A11.png?version=1&modificationDate=1487314091103&api=v2" data-unresolved-comment-count="0" height="400" src="https://confluence.rakuten-it.com/confluence/download/attachments/1125691913/image2017-2-17%2015%3A48%3A11.png?version=1&modificationDate=1487314091103&api=v2" style="margin-left: 2px; margin-right: 2px; max-width: none; vertical-align: text-bottom;" title="Nevatia, Ritika | Ritika | FINAD > 4 - Execution > image2017-2-17 15:48:11.png" /></div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
This is a beautiful feature about this framework - the executors don't perform any process until they see there's something valuable coming out of it. Isn't that similar to human behavior? If we never called the step 3, i.e. we never saved that file, why would we even bother to do steps 1 and 2? It would be a complete waste of time and resources to perform transformations without actions (Its useless to perform transformations when the result won't be remembered in any way).</div>
<h2 style="border-bottom-color: rgb(196, 196, 196); color: #333333; font-family: Arial, sans-serif; font-size: 20px; font-weight: normal; line-height: 1.5; margin: 30px 0px 0px;">
Pipelining Execution</h2>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
While Spark is lazy, Spark is lazy-efficient. Perhaps more efficient than we as developers are. Like how Bill Gates believes that lazy people find efficient ways to do things. </div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
In the above example, while we imagined spark to be working like a batch job, i.e. read inputs then process them all and then write them all at once, it may really not be so. Spark will perform sequences of transformations by element so no data is stored. </div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
So in our above example, the actual execution occurs as follows:</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
<img class="confluence-embedded-image" data-base-url="https://confluence.rakuten-it.com/confluence" data-image-height="428" data-image-src="/confluence/download/attachments/1125691913/image2017-2-17%2015%3A53%3A57.png?version=1&modificationDate=1487314437368&api=v2" data-image-width="696" data-linked-resource-container-id="1125691913" data-linked-resource-container-version="10" data-linked-resource-content-type="image/png" data-linked-resource-default-alias="image2017-2-17 15:53:57.png" data-linked-resource-id="1125697588" data-linked-resource-type="attachment" data-linked-resource-version="1" data-location="Nevatia, Ritika | Ritika | FINAD > 4 - Execution > image2017-2-17 15:53:57.png" data-mce-src="https://confluence.rakuten-it.com/confluence/download/attachments/1125691913/image2017-2-17%2015%3A53%3A57.png?version=1&modificationDate=1487314437368&api=v2" data-unresolved-comment-count="0" height="400" src="https://confluence.rakuten-it.com/confluence/download/attachments/1125691913/image2017-2-17%2015%3A53%3A57.png?version=1&modificationDate=1487314437368&api=v2" style="margin-left: 2px; margin-right: 2px; max-width: none; vertical-align: text-bottom;" title="Nevatia, Ritika | Ritika | FINAD > 4 - Execution > image2017-2-17 15:53:57.png" /></div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
So in which case Spark behaves how? We cannot tell. But what we can surely tell is that we can trust Spark with the approach it chooses. It will always be efficient.</div>
<h2 style="border-bottom-color: rgb(196, 196, 196); color: #333333; font-family: Arial, sans-serif; font-size: 20px; font-weight: normal; line-height: 1.5; margin: 30px 0px 0px;">
Partition Handling</h2>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
I think its a good time now to understand how partitions are handled in Spark.</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Now, we may have several executors in our cluster. That is completely upto us, how we configure spark. But what is not upto us, is how data is partitioned in Spark. To cite an example, let's say we want to read input file of roughly size 10,000 bytes. We can only specify the minimum number of partitions that the input file can be divided into. Spark takes a judgement and decides how many actual paritions of the original file will be made. If we specified a minimum parition of 2, we'd expect Spark to divide the file into two 5000 bytes parts. But if Spark calculates that partitioning the file into 10 paritions will lead to optimized run of the application, it will create 10 parts of 1000 bytes each. And you as a developer can do nothing about it. You have to leave certain things to the framework and this is one of them.</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Similarly, the RDDs are also partitioned in reality. If we want to process an input file by loading it into an RDD, each file reads its partition, and created its "part" of the RDD. Which means, in reality, the whole RDD as we imagine it, is distributed across different executors.</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
<img class="confluence-embedded-image" data-base-url="https://confluence.rakuten-it.com/confluence" data-image-height="496" data-image-src="/confluence/download/attachments/1125691913/image2017-2-17%2015%3A57%3A19.png?version=1&modificationDate=1487314639492&api=v2" data-image-width="337" data-linked-resource-container-id="1125691913" data-linked-resource-container-version="10" data-linked-resource-content-type="image/png" data-linked-resource-default-alias="image2017-2-17 15:57:19.png" data-linked-resource-id="1125697621" data-linked-resource-type="attachment" data-linked-resource-version="1" data-location="Nevatia, Ritika | Ritika | FINAD > 4 - Execution > image2017-2-17 15:57:19.png" data-mce-src="https://confluence.rakuten-it.com/confluence/download/attachments/1125691913/image2017-2-17%2015%3A57%3A19.png?version=1&modificationDate=1487314639492&api=v2" data-unresolved-comment-count="0" height="250" src="https://confluence.rakuten-it.com/confluence/download/attachments/1125691913/image2017-2-17%2015%3A57%3A19.png?version=1&modificationDate=1487314639492&api=v2" style="margin-left: 2px; margin-right: 2px; max-width: none; vertical-align: text-bottom;" title="Nevatia, Ritika | Ritika | FINAD > 4 - Execution > image2017-2-17 15:57:19.png" /></div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
It is important to remember at this point that each executor is immune from the others. This means each executor has its own set of variables. So when the input file is to be read in partitions, the Spark Application just decides the size of the partition. It sends each executor a copy of the entire file and their starting and end point of the partition. Then that executor reads its particular part of the file. Note how each executor even has a copy of the whole file!</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Now, while writing into an output file, each executor will create its own partition of the output file and later the Spark Application will maintain it as one file.</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
You also cannot control individual executors in any way. You can control however how all executors behave. How that would be? Well by implementing the spark API.</div>
<h2 style="border-bottom-color: rgb(196, 196, 196); color: #333333; font-family: Arial, sans-serif; font-size: 20px; font-weight: normal; line-height: 1.5; margin: 30px 0px 0px;">
Maintaining Order</h2>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
The Spark Application partitions the data, something we have understood. But is the order of the records lost anywhere?</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
The two transformations of map and filter will never change the order of rows. This means the nth line of the input is the nth record of the RDD and when mapped into another RDD, it still remains the nth record.</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
However there are other transformations which are heavier and donot maintain the order. I haven't introduced them so far - groupBy and Join. You can read more about them later.</div>
<div>
<br /></div>
</div>
nevatiaritikahttp://www.blogger.com/profile/16655501873541408940noreply@blogger.com0tag:blogger.com,1999:blog-202791059041586496.post-16916276452274468772017-12-10T18:40:00.003-08:002018-05-20T21:25:03.878-07:00Apache Spark - A dummy's introduction - 2 (Data Structure)<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="border-bottom-color: rgb(196, 196, 196); color: #333333; font-family: Arial, sans-serif; font-size: 20px; font-weight: normal; line-height: 1.5; margin: 0px; text-align: left;">
<div style="background-color: white; border: 0px; font-family: Arial, sans-serif; font-size: 14px; font-stretch: inherit; font-variant-numeric: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; word-wrap: break-word;">
<h2 style="border-bottom-color: rgb(196, 196, 196); font-size: 20px; font-weight: normal; line-height: 1.5; margin: 0px;">
<div style="border: 0px; font-size: 14px; font-stretch: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; word-wrap: break-word;">
A dummy's introduction is split in 4 parts:</div>
<div style="border: 0px; color: #444444; font-family: "titillium web", sans-serif; font-size: 16px; font-stretch: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; word-wrap: break-word;">
</div>
<ol style="border: 0px; color: #444444; font-family: "titillium web", sans-serif; font-size: 16px; font-stretch: inherit; line-height: inherit; list-style: none; margin: 0px 0px 0px 35px; padding: 10px 0px 20px; vertical-align: baseline;">
<li style="border: 0px; font-family: inherit; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; list-style-type: decimal; margin: 0px; padding: 0px 0px 5px; vertical-align: baseline;"><span style="border: 0px; color: #333333; font-family: "arial" , sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-size: 14px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="http://www.nevatiaritika.com/2017/12/apache-spark-dummys-introduction-1.html" target="_blank">Architecture</a></span></span></li>
<li style="border: 0px; font-family: inherit; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; list-style-type: decimal; margin: 0px; padding: 0px 0px 5px; vertical-align: baseline;"><span style="border: 0px; color: #333333; font-family: "arial" , sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-size: 14px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="http://www.nevatiaritika.com/2017/12/apache-spark-dummys-introduction-2-data.html" target="_blank">Data Structure</a></span></span></li>
<li style="border: 0px; font-family: inherit; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; list-style-type: decimal; margin: 0px; padding: 0px 0px 5px; vertical-align: baseline;"><span style="border: 0px; color: #333333; font-family: "arial" , sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-size: 14px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="http://www.nevatiaritika.com/2017/12/apache-spark-dummys-introduction-3.html" target="_blank">Execution</a></span></span></li>
<li style="border: 0px; font-family: inherit; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; list-style-type: decimal; margin: 0px; padding: 0px 0px 5px; vertical-align: baseline;"><span style="border: 0px; color: #333333; font-family: "arial" , sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-size: 14px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="http://www.nevatiaritika.com/2017/12/apache-spark-dummys-introduction-4.html" target="_blank">Example</a></span></span></li>
</ol>
</h2>
</div>
Data Structures in Spark</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Since we will use Java, of course we can use all our traditional data structures in the program. But, for Spark operations, we use special structures created for Spark. I'll introduce the most commonly used ones:</div>
<h3 style="color: #333333; font-family: Arial, sans-serif; font-size: 16px; line-height: 1.5; margin: 30px 0px 0px;">
RDDs - Resilient Distributed Datasets</h3>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
RDDs are the fundamental units of Spark. All of Spark processing revolves around RDDs. The complicated name implies:</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Resilience: If data in the memory is lost, this data structure can be recreated<br />
Distributed: An RDD is processed across the cluster<br />
Dataset: It can be loaded from a file/database or can be created programatically using Collections/other data structures</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
You can imagine an RDD to be a set of records of any object type/ data type. Note that RDDs are immutable (just like Strings are).</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Let's try to create an RDD of Strings from a List and imagine how it looks like in an RDD. </div>
<br />
<!-- HTML generated using hilite.me --><br />
<div style="background: #ffffff; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">JavaRDD myRddOfFruits <span style="color: #333333;">=</span> sc<span style="color: #333333;">.</span><span style="color: #0000cc;">parallelize</span><span style="color: #333333;">(</span>Arrays<span style="color: #333333;">.</span><span style="color: #0000cc;">asList</span><span style="color: #333333;">(</span><span style="background-color: #fff0f0;">"Apples"</span><span style="color: #333333;">,</span> <span style="background-color: #fff0f0;">"Oranges"</span><span style="color: #333333;">,</span> <span style="background-color: #fff0f0;">"Bananas"</span><span style="color: #333333;">,</span> <span style="background-color: #fff0f0;">"Grapes"</span><span style="color: #333333;">));</span>
<span style="color: #888888;">//sc is the SparkContext which is required to create any Spark data structure</span>
</pre>
</div>
<br />
<br />
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
<img class="confluence-embedded-image" data-base-url="https://confluence.rakuten-it.com/confluence" data-image-height="233" data-image-src="/confluence/download/attachments/1125691870/image2017-2-17%2015%3A16%3A39.png?version=1&modificationDate=1487312199693&api=v2" data-image-width="487" data-linked-resource-container-id="1125691870" data-linked-resource-container-version="25" data-linked-resource-content-type="image/png" data-linked-resource-default-alias="image2017-2-17 15:16:39.png" data-linked-resource-id="1125697250" data-linked-resource-type="attachment" data-linked-resource-version="1" data-location="Nevatia, Ritika | Ritika | FINAD > 3 - Fundamental Unit > image2017-2-17 15:16:39.png" data-mce-src="https://confluence.rakuten-it.com/confluence/download/attachments/1125691870/image2017-2-17%2015%3A16%3A39.png?version=1&modificationDate=1487312199693&api=v2" data-unresolved-comment-count="0" height="233" src="https://confluence.rakuten-it.com/confluence/download/attachments/1125691870/image2017-2-17%2015%3A16%3A39.png?version=1&modificationDate=1487312199693&api=v2" style="margin-left: 2px; margin-right: 2px; max-width: none; vertical-align: text-bottom;" title="Nevatia, Ritika | Ritika | FINAD > 3 - Fundamental Unit > image2017-2-17 15:16:39.png" width="487" /></div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Similarly let's try to create an RDD of Strings from a file as below:<br />
<br />
<!-- HTML generated using hilite.me --><br />
<div style="background: #ffffff; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;">
<pre style="line-height: 125%; margin: 0;">JavaRDD myRddOfFruits <span style="color: #333333;">=</span> sc<span style="color: #333333;">.</span><span style="color: #0000cc;">textFile</span><span style="color: #333333;">(</span><span style="background-color: #fff0f0;">"/path/to/input.txt"</span><span style="color: #333333;">);</span>
</pre>
</div>
<br />
<br /></div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
<img class="confluence-embedded-image" data-base-url="https://confluence.rakuten-it.com/confluence" data-image-height="224" data-image-src="/confluence/download/attachments/1125691870/image2017-2-17%2015%3A20%3A12.png?version=1&modificationDate=1487312412844&api=v2" data-image-width="414" data-linked-resource-container-id="1125691870" data-linked-resource-container-version="25" data-linked-resource-content-type="image/png" data-linked-resource-default-alias="image2017-2-17 15:20:12.png" data-linked-resource-id="1125697279" data-linked-resource-type="attachment" data-linked-resource-version="1" data-location="Nevatia, Ritika | Ritika | FINAD > 3 - Fundamental Unit > image2017-2-17 15:20:12.png" data-mce-src="https://confluence.rakuten-it.com/confluence/download/attachments/1125691870/image2017-2-17%2015%3A20%3A12.png?version=1&modificationDate=1487312412844&api=v2" data-unresolved-comment-count="0" src="https://confluence.rakuten-it.com/confluence/download/attachments/1125691870/image2017-2-17%2015%3A20%3A12.png?version=1&modificationDate=1487312412844&api=v2" style="margin-left: 2px; margin-right: 2px; max-width: calc(100% - 4px); vertical-align: text-bottom;" title="Nevatia, Ritika | Ritika | FINAD > 3 - Fundamental Unit > image2017-2-17 15:20:12.png" /></div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
With this, we have learnt the first step of our batches: reading input.</div>
<h2 style="border-bottom-color: rgb(196, 196, 196); color: #333333; font-family: Arial, sans-serif; font-size: 20px; font-weight: normal; line-height: 1.5; margin: 30px 0px 0px;">
Basic Operations on RDDs</h2>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
RDDs are immutable and cannot be modified, however we can create new RDDs from existing RDDs. In this way we can proceed to the second step of a batch: process the input. We will take the previous read input RDD and operate on it to create a new RDD which will be our processed RDD. We can also operate on our input RDD to create other values like integers instead of creating another RDD.</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
There are two major operations on RDDs:</div>
<ol style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin: 10px 0px 0px;">
<li>Actions: These operations always return a value.<br />
<img class="confluence-embedded-image" data-base-url="https://confluence.rakuten-it.com/confluence" data-image-height="179" data-image-src="/confluence/download/attachments/1125691870/image2017-2-17%2010%3A3%3A21.png?version=1&modificationDate=1487293401413&api=v2" data-image-width="410" data-linked-resource-container-id="1125691870" data-linked-resource-container-version="25" data-linked-resource-content-type="image/png" data-linked-resource-default-alias="image2017-2-17 10:3:21.png" data-linked-resource-id="1125694751" data-linked-resource-type="attachment" data-linked-resource-version="1" data-location="Nevatia, Ritika | Ritika | FINAD > 3 - Fundamental Unit > image2017-2-17 10:3:21.png" data-mce-src="https://confluence.rakuten-it.com/confluence/download/attachments/1125691870/image2017-2-17%2010%3A3%3A21.png?version=1&modificationDate=1487293401413&api=v2" data-unresolved-comment-count="0" height="150" src="https://confluence.rakuten-it.com/confluence/download/attachments/1125691870/image2017-2-17%2010%3A3%3A21.png?version=1&modificationDate=1487293401413&api=v2" style="margin-left: 2px; margin-right: 2px; max-width: none; vertical-align: text-bottom;" title="Nevatia, Ritika | Ritika | FINAD > 3 - Fundamental Unit > image2017-2-17 10:3:21.png" width="344" /><br />
Some common examples are:<ol style="list-style-type: lower-alpha; margin: 0px;">
<li>count()</li>
<li>saveAsTextFile()</li>
</ol>
</li>
<li>Transformations: These operations create a new RDD out of the previous RDD. It is easy to note that transformations are the key for our second step in batches: processing.<br />
<img class="confluence-embedded-image" data-base-url="https://confluence.rakuten-it.com/confluence" data-image-height="191" data-image-src="/confluence/download/attachments/1125691870/image2017-2-17%2010%3A3%3A48.png?version=1&modificationDate=1487293428111&api=v2" data-image-width="474" data-linked-resource-container-id="1125691870" data-linked-resource-container-version="25" data-linked-resource-content-type="image/png" data-linked-resource-default-alias="image2017-2-17 10:3:48.png" data-linked-resource-id="1125694760" data-linked-resource-type="attachment" data-linked-resource-version="1" data-location="Nevatia, Ritika | Ritika | FINAD > 3 - Fundamental Unit > image2017-2-17 10:3:48.png" data-mce-src="https://confluence.rakuten-it.com/confluence/download/attachments/1125691870/image2017-2-17%2010%3A3%3A48.png?version=1&modificationDate=1487293428111&api=v2" data-unresolved-comment-count="0" height="150" src="https://confluence.rakuten-it.com/confluence/download/attachments/1125691870/image2017-2-17%2010%3A3%3A48.png?version=1&modificationDate=1487293428111&api=v2" style="margin-left: 2px; margin-right: 2px; max-width: none; vertical-align: text-bottom;" title="Nevatia, Ritika | Ritika | FINAD > 3 - Fundamental Unit > image2017-2-17 10:3:48.png" width="372" /><br />
Mainly the following transformations are used: <ol style="list-style-type: lower-alpha; margin: 0px;">
<li>map</li>
<li>filter</li>
</ol>
</li>
</ol>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Let's look at each with examples.</div>
<h3 style="color: #333333; font-family: Arial, sans-serif; font-size: 16px; line-height: 1.5; margin: 30px 0px 0px;">
count()</h3>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
This is an action performed on an RDD. Count function, as name suggests just returns the number of elements in a given RDD. (The <em>value</em> is the count of elements in this case). Let's try to call count function on our RDD as before.<br />
<br />
<!-- HTML generated using hilite.me --><br />
<div style="background: #ffffff; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;">
<pre style="line-height: 125%; margin: 0;"><span style="color: #888888;">//Read the file</span>
JavaRDD myRddOfFruits <span style="color: #333333;">=</span> sc<span style="color: #333333;">.</span><span style="color: #0000cc;">textFile</span><span style="color: #333333;">(</span><span style="background-color: #fff0f0;">"/path/to/input.txt"</span><span style="color: #333333;">);</span>
<span style="color: #888888;">//Find out how many rows are in this file</span>
<span style="color: #333399; font-weight: bold;">long</span> noOfFruits <span style="color: #333333;">=</span> myRddOfFruits<span style="color: #333333;">.</span><span style="color: #0000cc;">count</span><span style="color: #333333;">();</span>
</pre>
</div>
<br />
<br />
If we were to imagine, it would look like this:</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
<img class="confluence-embedded-image" data-base-url="https://confluence.rakuten-it.com/confluence" data-image-height="157" data-image-src="/confluence/download/attachments/1125691870/image2017-2-17%2015%3A22%3A7.png?version=1&modificationDate=1487312527928&api=v2" data-image-width="312" data-linked-resource-container-id="1125691870" data-linked-resource-container-version="25" data-linked-resource-content-type="image/png" data-linked-resource-default-alias="image2017-2-17 15:22:7.png" data-linked-resource-id="1125697299" data-linked-resource-type="attachment" data-linked-resource-version="1" data-location="Nevatia, Ritika | Ritika | FINAD > 3 - Fundamental Unit > image2017-2-17 15:22:7.png" data-mce-src="https://confluence.rakuten-it.com/confluence/download/attachments/1125691870/image2017-2-17%2015%3A22%3A7.png?version=1&modificationDate=1487312527928&api=v2" data-unresolved-comment-count="0" src="https://confluence.rakuten-it.com/confluence/download/attachments/1125691870/image2017-2-17%2015%3A22%3A7.png?version=1&modificationDate=1487312527928&api=v2" style="margin-left: 2px; margin-right: 2px; max-width: calc(100% - 4px); vertical-align: text-bottom;" title="Nevatia, Ritika | Ritika | FINAD > 3 - Fundamental Unit > image2017-2-17 15:22:7.png" /></div>
<h3 style="color: #333333; font-family: Arial, sans-serif; font-size: 16px; line-height: 1.5; margin: 30px 0px 0px;">
saveAsTextFile()</h3>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Let's say we want to read from a Collection and write it into a file. How would you do it? You'd create the RDD from the database. But how do you save the contents of an RDD into a file? This function is used. Let's say we want to save our fruits collection in a file from before. </div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
<br />
<!-- HTML generated using hilite.me --><br />
<div style="background: #ffffff; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;">
<pre style="line-height: 125%; margin: 0;"><span style="color: #888888;">//Read the collection</span>
JavaRDD myRddOfFruits <span style="color: #333333;">=</span> sc<span style="color: #333333;">.</span><span style="color: #0000cc;">parallelize</span><span style="color: #333333;">(</span>Arrays<span style="color: #333333;">.</span><span style="color: #0000cc;">asList</span><span style="color: #333333;">(</span><span style="background-color: #fff0f0;">"Apples"</span><span style="color: #333333;">,</span> <span style="background-color: #fff0f0;">"Oranges"</span><span style="color: #333333;">,</span> <span style="background-color: #fff0f0;">"Bananas"</span><span style="color: #333333;">,</span> <span style="background-color: #fff0f0;">"Grapes"</span><span style="color: #333333;">));</span>
<span style="color: #888888;">//Save this RDD in a file</span>
myRddOfFruits<span style="color: #333333;">.</span><span style="color: #0000cc;">saveAsTextFile</span><span style="color: #333333;">(</span><span style="background-color: #fff0f0;">"/path/to/output.txt"</span><span style="color: #333333;">);</span>
</pre>
</div>
<br />
<br />
The <em>value</em> returned above was a text file. This is an action performed on an RDD. </div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
<img class="confluence-embedded-image" data-base-url="https://confluence.rakuten-it.com/confluence" data-image-height="205" data-image-src="/confluence/download/attachments/1125691870/image2017-2-17%2015%3A24%3A39.png?version=1&modificationDate=1487312679793&api=v2" data-image-width="370" data-linked-resource-container-id="1125691870" data-linked-resource-container-version="25" data-linked-resource-content-type="image/png" data-linked-resource-default-alias="image2017-2-17 15:24:39.png" data-linked-resource-id="1125697325" data-linked-resource-type="attachment" data-linked-resource-version="1" data-location="Nevatia, Ritika | Ritika | FINAD > 3 - Fundamental Unit > image2017-2-17 15:24:39.png" data-mce-src="https://confluence.rakuten-it.com/confluence/download/attachments/1125691870/image2017-2-17%2015%3A24%3A39.png?version=1&modificationDate=1487312679793&api=v2" data-unresolved-comment-count="0" src="https://confluence.rakuten-it.com/confluence/download/attachments/1125691870/image2017-2-17%2015%3A24%3A39.png?version=1&modificationDate=1487312679793&api=v2" style="margin-left: 2px; margin-right: 2px; max-width: calc(100% - 4px); vertical-align: text-bottom;" title="Nevatia, Ritika | Ritika | FINAD > 3 - Fundamental Unit > image2017-2-17 15:24:39.png" /></div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
With this we just learnt our third step of the batch: writing to output. Further, we'll see how the second step i.e. processing works.</div>
<h3 style="color: #333333; font-family: Arial, sans-serif; font-size: 16px; line-height: 1.5; margin: 30px 0px 0px;">
map</h3>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Map is a tranformation performed on an RDD. It performs a particular transformation/function on every record of the RDD. This becomes the key of our second step i.e. processing. What is processing anyway? We take each record and perform a function on it, right? So map is exactly that. Let's try to transform our previous RDD of fruits as an example.<br />
<br />
<!-- HTML generated using hilite.me --><br />
<div style="background: #ffffff; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;">
<pre style="line-height: 125%; margin: 0;"><span style="color: #888888;">//Read the collection</span>
JavaRDD myRddOfFruits <span style="color: #333333;">=</span> sc<span style="color: #333333;">.</span><span style="color: #0000cc;">parallelize</span><span style="color: #333333;">(</span>Arrays<span style="color: #333333;">.</span><span style="color: #0000cc;">asList</span><span style="color: #333333;">(</span><span style="background-color: #fff0f0;">"Apples"</span><span style="color: #333333;">,</span> <span style="background-color: #fff0f0;">"Oranges"</span><span style="color: #333333;">,</span> <span style="background-color: #fff0f0;">"Bananas"</span><span style="color: #333333;">,</span> <span style="background-color: #fff0f0;">"Grapes"</span><span style="color: #333333;">));</span>
<span style="color: #888888;">//Convert all Strings to Upper case</span>
myRddOfFruits<span style="color: #333333;">.</span><span style="color: #0000cc;">map</span><span style="color: #333333;">(</span>fruitString <span style="color: #333333;">-&</span>gt<span style="color: #333333;">;</span> fruitString<span style="color: #333333;">.</span><span style="color: #0000cc;">toUpperCase</span><span style="color: #333333;">());</span>
</pre>
</div>
<br />
We already know that myRddOfFruits is an RDD of Strings. This means that the data type of each record is a String. So to represent each record in this RDD, we used a variable name inside this map function - fruitString. Thus fruitString is each record in the RDD.</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Just in one line a lot happened! In the fourth line of the code, we called the map function on our RDD. Let me further explain the functional syntax inside the map function.</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Further, inside the map, we have defined what our new transformed RDD should be. We have instructed, that for each fruitString, we want fruitString.toUpperCase(). The toUpperCase() also returns a String, so the data types match!<br />
Spark will create a new RDD, take each record of myRddOfFruits and make it upper case using the function provided by String class. This new RDD will be pointed by the variable myRddOfFruits. </div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Imagination in Spark is essential, this is how we can think of the code above:</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
<img class="confluence-embedded-image confluence-thumbnail" data-base-url="https://confluence.rakuten-it.com/confluence" data-image-height="407" data-image-src="/confluence/download/attachments/1125691870/image2017-2-17%2015%3A27%3A48.png?version=1&modificationDate=1487312868369&api=v2" data-image-width="488" data-linked-resource-container-id="1125691870" data-linked-resource-container-version="25" data-linked-resource-content-type="image/png" data-linked-resource-default-alias="image2017-2-17 15:27:48.png" data-linked-resource-id="1125697348" data-linked-resource-type="attachment" data-linked-resource-version="1" data-location="Nevatia, Ritika | Ritika | FINAD > 3 - Fundamental Unit > image2017-2-17 15:27:48.png" data-mce-src="https://confluence.rakuten-it.com/confluence/download/thumbnails/1125691870/image2017-2-17%2015%3A27%3A48.png?version=1&modificationDate=1487312868369&api=v2" data-unresolved-comment-count="0" height="250" src="https://confluence.rakuten-it.com/confluence/download/thumbnails/1125691870/image2017-2-17%2015%3A27%3A48.png?version=1&modificationDate=1487312868369&api=v2" style="margin-left: 2px; margin-right: 2px; max-width: none; vertical-align: text-bottom;" title="Nevatia, Ritika | Ritika | FINAD > 3 - Fundamental Unit > image2017-2-17 15:27:48.png" /></div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Note:</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Let's say we called the count() function on myRddOfFruits before the map, we would get value as 5, right? What if we called count() after the map? It would also return 5. The map function runs for every record in the RDD. This means the count after map will always remain the same.</div>
<h3 style="color: #333333; font-family: Arial, sans-serif; font-size: 16px; line-height: 1.5; margin: 30px 0px 0px;">
filter</h3>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Filter is again, a transformation on an RDD. However as the name suggests, it filters out some of the records and only keeps some. Hence, unlike map, the count after a filter may be equal or less than that of the original RDD. Let's try to filter our fruits RDD as an example:<br />
<br />
<!-- HTML generated using hilite.me --><br />
<div style="background: #ffffff; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;">
<pre style="line-height: 125%; margin: 0;"><span style="color: #888888;">//Read the file as an RDD</span>
JavaRDD myRddOfFruits <span style="color: #333333;">=</span> sc<span style="color: #333333;">.</span><span style="color: #0000cc;">textFile</span><span style="color: #333333;">(</span><span style="background-color: #fff0f0;">"/path/to/input.txt"</span><span style="color: #333333;">);</span>
<span style="color: #888888;">//Filter such that only fruits starting with 'B' remain</span>
myRddOfFruits<span style="color: #333333;">.</span><span style="color: #0000cc;">filter</span><span style="color: #333333;">(</span>record <span style="color: #333333;">-&</span>gt<span style="color: #333333;">;</span> record<span style="color: #333333;">.</span><span style="color: #0000cc;">startsWith</span><span style="color: #333333;">(</span><span style="color: #0044dd;">'B'</span><span style="color: #333333;">));</span>
</pre>
</div>
<br />
<br /></div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Just like map, we passed a function inside the filter method. This time, we chose to call each record of the RDD as a variable named record. Note that we don't have to worry about the specification of the record. Then, we filtered our RDD such that only fruits starting with the letter 'B' remained in the RDD. </div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
When we try to picture, the new filtered RDD looks like this:</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
<img class="confluence-embedded-image" data-base-url="https://confluence.rakuten-it.com/confluence" data-image-height="170" data-image-src="/confluence/download/attachments/1125691870/image2017-2-17%2015%3A38%3A29.png?version=1&modificationDate=1487313509120&api=v2" data-image-width="469" data-linked-resource-container-id="1125691870" data-linked-resource-container-version="25" data-linked-resource-content-type="image/png" data-linked-resource-default-alias="image2017-2-17 15:38:29.png" data-linked-resource-id="1125697443" data-linked-resource-type="attachment" data-linked-resource-version="1" data-location="Nevatia, Ritika | Ritika | FINAD > 3 - Fundamental Unit > image2017-2-17 15:38:29.png" data-mce-src="https://confluence.rakuten-it.com/confluence/download/attachments/1125691870/image2017-2-17%2015%3A38%3A29.png?version=1&modificationDate=1487313509120&api=v2" data-unresolved-comment-count="0" src="https://confluence.rakuten-it.com/confluence/download/attachments/1125691870/image2017-2-17%2015%3A38%3A29.png?version=1&modificationDate=1487313509120&api=v2" style="margin-left: 2px; margin-right: 2px; max-width: calc(100% - 4px); vertical-align: text-bottom;" title="Nevatia, Ritika | Ritika | FINAD > 3 - Fundamental Unit > image2017-2-17 15:38:29.png" /></div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Notice how the count() has changed!</div>
<h2 style="border-bottom-color: rgb(196, 196, 196); color: #333333; font-family: Arial, sans-serif; font-size: 20px; font-weight: normal; line-height: 1.5; margin: 30px 0px 0px;">
Conclusion</h2>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
In short, RDDs are the fundamental unit in which Spark operates. We can perform actions and transformations on these RDDs to achieve our desired result. The actions return a value while transformations create a new RDD. The map and filter transformations follow a functional programming syntax where we operate on each record of the RDD using the lambda function.</div>
<div>
<br /></div>
</div>
nevatiaritikahttp://www.blogger.com/profile/16655501873541408940noreply@blogger.com0tag:blogger.com,1999:blog-202791059041586496.post-9390337766975806142017-12-10T18:38:00.000-08:002018-05-20T21:25:03.950-07:00Apache Spark - A dummy's introduction - 1 (Architecture)<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; word-wrap: break-word;">
<h2 style="border-bottom-color: rgb(196, 196, 196); font-size: 20px; font-weight: normal; line-height: 1.5; margin: 0px;">
<div style="border: 0px; font-size: 14px; font-stretch: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; word-wrap: break-word;">
A dummy's introduction is split in 4 parts:</div>
<div style="border: 0px; color: #444444; font-family: "titillium web", sans-serif; font-size: 16px; font-stretch: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; word-wrap: break-word;">
</div>
<ol style="border: 0px; color: #444444; font-family: "titillium web", sans-serif; font-size: 16px; font-stretch: inherit; line-height: inherit; list-style: none; margin: 0px 0px 0px 35px; padding: 10px 0px 20px; vertical-align: baseline;">
<li style="border: 0px; font-family: inherit; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; list-style-type: decimal; margin: 0px; padding: 0px 0px 5px; vertical-align: baseline;"><span style="border: 0px; color: #333333; font-family: "arial" , sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-size: 14px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="http://www.nevatiaritika.com/2017/12/apache-spark-dummys-introduction-1.html" target="_blank">Architecture</a></span></span></li>
<li style="border: 0px; font-family: inherit; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; list-style-type: decimal; margin: 0px; padding: 0px 0px 5px; vertical-align: baseline;"><span style="border: 0px; color: #333333; font-family: "arial" , sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-size: 14px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="http://www.nevatiaritika.com/2017/12/apache-spark-dummys-introduction-2-data.html" target="_blank">Data Structure</a></span></span></li>
<li style="border: 0px; font-family: inherit; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; list-style-type: decimal; margin: 0px; padding: 0px 0px 5px; vertical-align: baseline;"><span style="border: 0px; color: #333333; font-family: "arial" , sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-size: 14px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="http://www.nevatiaritika.com/2017/12/apache-spark-dummys-introduction-3.html" target="_blank">Execution</a></span></span></li>
<li style="border: 0px; font-family: inherit; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; list-style-type: decimal; margin: 0px; padding: 0px 0px 5px; vertical-align: baseline;"><span style="border: 0px; color: #333333; font-family: "arial" , sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-size: 14px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="http://www.nevatiaritika.com/2017/12/apache-spark-dummys-introduction-4.html" target="_blank">Example</a></span></span></li>
</ol>
</h2>
</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; word-wrap: break-word;">
<br /></div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; word-wrap: break-word;">
I'll introduce the main components of the architecture in order as follows.</div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
<img class="confluence-embedded-image" data-base-url="https://confluence.rakuten-it.com/confluence" data-image-height="254" data-image-src="/confluence/download/attachments/1125689129/image2017-2-17%2016%3A57%3A3.png?version=1&modificationDate=1487318223254&api=v2" data-image-width="529" data-linked-resource-container-id="1125689129" data-linked-resource-container-version="12" data-linked-resource-content-type="image/png" data-linked-resource-default-alias="image2017-2-17 16:57:3.png" data-linked-resource-id="1125698111" data-linked-resource-type="attachment" data-linked-resource-version="1" data-location="Nevatia, Ritika | Ritika | FINAD > 2. How Spark works - Overview > image2017-2-17 16:57:3.png" data-mce-src="https://confluence.rakuten-it.com/confluence/download/attachments/1125689129/image2017-2-17%2016%3A57%3A3.png?version=1&modificationDate=1487318223254&api=v2" data-unresolved-comment-count="0" height="250" src="https://confluence.rakuten-it.com/confluence/download/attachments/1125689129/image2017-2-17%2016%3A57%3A3.png?version=1&modificationDate=1487318223254&api=v2" style="margin-left: 2px; margin-right: 2px; max-width: none; vertical-align: text-bottom;" title="Nevatia, Ritika | Ritika | FINAD > 2. How Spark works - Overview > image2017-2-17 16:57:3.png" /></div>
<h2 style="border-bottom-color: rgb(196, 196, 196); color: #333333; font-family: Arial, sans-serif; font-size: 20px; font-weight: normal; line-height: 1.5; margin: 30px 0px 0px;">
Spark Application</h2>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
There is a manager of these workers, called the Driver Program. Many times this is referred to as the Spark Application itself. You just have to submit your application (the batch, in our case) to the Spark Application and it will take care of the rest. It will divide the whole application into tasks (e.g.: read input, process input, write output). It is also responsible for creating the groups of batches, or partitions (which is a more correct technical term). The driver is lazy (more on that in part 3).</div>
<h2 style="border-bottom-color: rgb(196, 196, 196); color: #333333; font-family: Arial, sans-serif; font-size: 20px; font-weight: normal; line-height: 1.5; margin: 30px 0px 0px;">
Spark Context</h2>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Spark is a framework - in order to use this framework, we need to create an instance of Spark Application. In order to do this, we create an object of the class SparkContext. It is crucial as it establishes the connection to the spark cluster. The special data structures that Spark uses cannot be created on the cluster without SparkContext. Thus each application has to have the SparkContext.</div>
<h2 style="border-bottom-color: rgb(196, 196, 196); color: #333333; font-family: Arial, sans-serif; font-size: 20px; font-weight: normal; line-height: 1.5; margin: 30px 0px 0px;">
Cluster Manager (Yarn)</h2>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
Then there is a Cluster Manager (e.g.: Apache Mesos or Yarn). The Cluster Manager exists for resource management. It physically assigns all resources to all workers. Thus it works in coordination with the Spark Application and the workers. However the Spark Application is abstracted from the Cluster Manager's working. As a developer, we might never care to look into more details. However an operations person might be interested to look into its details. The Cluster Manager also runs the Spark UI where we can study the performance of the application. It lets you monitor running jobs, and view statistics and configuration.</div>
<h2 style="border-bottom-color: rgb(196, 196, 196); color: #333333; font-family: Arial, sans-serif; font-size: 20px; font-weight: normal; line-height: 1.5; margin: 30px 0px 0px;">
Executor</h2>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
The worker we have been referring to above is called an executor. It is the slave in Spark's master-slave architecture. It receives tasks from the Spark Application and it's job is to execute them as per the schedule. It is important to note that each executor has its own set of resources (as allocated by the Cluster Manager). Which means, to start with, your application (the batch's jar/war file) is copied on to every executor. They have their own variables, cache etc. In effect, you can imagine each executor works independently.</div>
</div>
nevatiaritikahttp://www.blogger.com/profile/16655501873541408940noreply@blogger.com0tag:blogger.com,1999:blog-202791059041586496.post-64101816956818429042017-10-30T07:28:00.000-07:002018-05-20T21:25:18.909-07:00Determination<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="color: #454545; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">There is this fish in the Great Barrier Reef of Australia - tuskfish. </span><br />
<span style="color: #454545; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="color: #454545; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">He wakes up every morning and swims to the edge of the reef. Then he digs the corals and the rubble searching for something. It looks unnatural to watch something dig with its fins, no hands. But it continues, and then finally he finds a clam. He manages to hold it in its mouth and swim all the way back, except this time with the clam in his mouth. </span><br />
<span style="color: #454545; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="color: #454545; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">He arrives at his lunch table, its kind of a hollow coral with walls. Like a shallow well. It wastes no time, and it throws the clam’s hard white shell across the walls in an attempt to smash it. Nothing happens. He repeats, he keeps throwing the clam on the same spot with high accuracy. Not giving up. </span><br />
<span style="color: #454545; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="color: #454545; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Finally there’s a small crack, after a hundred attempts. He throws it once more, with the same intensity and there, it breaks open. A small squiggly meat comes out and the fish devours it. The camera zooms out, you see inside the bowl shaped rock, so many - so so many of such broken shells, accumulating over days. The fish does this everyday, all its life. Its a mere fish.</span><br />
<span style="color: #454545; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="color: #454545; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">What do I have to complain about? There's so much hard work to do.</span><br />
<span style="color: #454545; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="color: #454545; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://4.bp.blogspot.com/-fqQxH36EKrc/Wfc1-XqNrtI/AAAAAAAAl-M/OzUy9fCH5345UOe-c7qcg8yI5ElNSXc7QCEwYBhgL/s1600/_98503881_14424817-high-blue-planet-ii.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="371" data-original-width="660" height="223" src="https://4.bp.blogspot.com/-fqQxH36EKrc/Wfc1-XqNrtI/AAAAAAAAl-M/OzUy9fCH5345UOe-c7qcg8yI5ElNSXc7QCEwYBhgL/s400/_98503881_14424817-high-blue-planet-ii.jpg" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="color: #999999;">Courtesy: http://www.bbc.co.uk/ Blue Planet II</span></td></tr>
</tbody></table>
<span style="color: #454545; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span></div>
nevatiaritikahttp://www.blogger.com/profile/16655501873541408940noreply@blogger.com0tag:blogger.com,1999:blog-202791059041586496.post-12134227093746431912017-09-26T01:10:00.001-07:002017-09-26T01:10:46.048-07:00Why Apache Spark and what is parallel processing?<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: "georgia" , "times new roman" , serif;">Recently at Rakuten we successfully renewed our mainframe from COBOL to Java (an old Fujitsu to Oracle Exalogic) - <a href="https://global.rakuten.com/corp/news/press/2017/0710_01.html" target="_blank">press release</a>. It was almost a 3 year long project and towards the end, the entire company was working on it. I transitioned into the development team for the mainframe, to rewrite several batches from Cobol to Java.</span><br />
<span style="font-family: "georgia" , "times new roman" , serif;"><br /></span>
<span style="font-family: "georgia" , "times new roman" , serif;">Now of course I cannot read COBOL (although its not that different). We had a machine translation software convert the cobol to java but honestly, that was hardly anything. The converted code was not smart, it used zero OOP concepts, it used customized stacks to remember function calls (haha, imagine writing your own implementation to remember function calls) and it looked like COBOL just changed its clothes. As a result, these batches performed very slow - their performance times significantly higher than their COBOL counterparts for the same data.</span><br />
<span style="font-family: "georgia" , "times new roman" , serif;"><br /></span>
<span style="font-family: "georgia" , "times new roman" , serif;">So the job was simple - to make these batches faster, in fact, much faster than their COBOL counterparts, otherwise what's the point?</span><br />
<span style="font-family: "georgia" , "times new roman" , serif;"><br /></span>
<span style="font-family: "georgia" , "times new roman" , serif;">My team chose Apache Spark as a framework to work parallelly with data. In this post, I am trying to explore why they made this decision and how Spark looks like compared to traditional batch processing.</span><br />
<div>
<h2 style="border-bottom-color: rgb(79, 36, 37); color: #333333; font-family: Arial, sans-serif; font-size: 20px; font-weight: normal; line-height: 1.5; margin: 30px 0px 0px;">
Background of our batches:</h2>
</div>
<div>
<br /></div>
<span style="font-family: "georgia" , "times new roman" , serif;">For most of the batch processing we did, there was a fixed pattern to be noticed:</span><br />
<br />
<ol style="text-align: left;">
<li><span style="font-family: "georgia" , "times new roman" , serif;">Read data from database and/or file</span></li>
<li><span style="font-family: "georgia" , "times new roman" , serif;">Process that data for each row of the database table/ each record of the file</span></li>
<li><span style="font-family: "georgia" , "times new roman" , serif;">Write to database and/or file.</span></li>
</ol>
<br />
<span style="font-family: "georgia" , "times new roman" , serif;">Assume we have an input file which needs to be processed and written into an output file. Assume we have 100 records in the input file.</span><br />
<span style="font-family: "georgia" , "times new roman" , serif;">Traditional Processing</span><br />
<span style="font-family: "georgia" , "times new roman" , serif;">If we were to use traditional processing, we would read the first record, process it, write it to output. Then we would read next record, process it, write to output. We would keep repeating this until all 100 rows. This is a single flow - and as we can guess, it would take us a long time to complete the whole operation. Here's how it can be represented:</span><br />
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
<img class="confluence-embedded-image" data-base-url="https://confluence.rakuten-it.com/confluence" data-image-height="221" data-image-src="/confluence/download/attachments/1125689077/image2017-2-17%2016%3A40%3A23.png?version=1&modificationDate=1487317223592&api=v2" data-image-width="621" data-linked-resource-container-id="1125689077" data-linked-resource-container-version="3" data-linked-resource-content-type="image/png" data-linked-resource-default-alias="image2017-2-17 16:40:23.png" data-linked-resource-id="1125697970" data-linked-resource-type="attachment" data-linked-resource-version="1" data-location="Nevatia, Ritika | Ritika | FINAD > 1. Why Spark? > image2017-2-17 16:40:23.png" data-mce-src="https://confluence.rakuten-it.com/confluence/download/attachments/1125689077/image2017-2-17%2016%3A40%3A23.png?version=1&modificationDate=1487317223592&api=v2" data-unresolved-comment-count="0" src="https://confluence.rakuten-it.com/confluence/download/attachments/1125689077/image2017-2-17%2016%3A40%3A23.png?version=1&modificationDate=1487317223592&api=v2" style="margin-left: 2px; margin-right: 2px; max-width: calc(100% - 4px); vertical-align: text-bottom;" title="Nevatia, Ritika | Ritika | FINAD > 1. Why Spark? > image2017-2-17 16:40:23.png" /></div>
<h2 style="border-bottom-color: rgb(79, 36, 37); color: #333333; font-family: Arial, sans-serif; font-size: 20px; font-weight: normal; line-height: 1.5; margin: 30px 0px 0px;">
Batch Processing</h2>
<div style="color: #333333; margin-top: 10px; word-wrap: break-word;">
<span style="font-family: "georgia" , "times new roman" , serif;">However we already use batch processing. We divide our input records into groups. Let's say groups of 20. That makes a total of 5 groups.<br />Here we read the first group together (i.e. 20 records), process them, write them to output. Then we would read the next group, process them, write them. We would keep repeating this for all 5 groups. Of course it is much faster to do this than traditional processing, since we save a lot of time switching between tasks and dealing with files. Something like this:</span></div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
<img class="confluence-embedded-image" data-base-url="https://confluence.rakuten-it.com/confluence" data-image-height="198" data-image-src="/confluence/download/attachments/1125689077/image2017-2-17%2016%3A42%3A16.png?version=1&modificationDate=1487317337162&api=v2" data-image-width="541" data-linked-resource-container-id="1125689077" data-linked-resource-container-version="3" data-linked-resource-content-type="image/png" data-linked-resource-default-alias="image2017-2-17 16:42:16.png" data-linked-resource-id="1125697993" data-linked-resource-type="attachment" data-linked-resource-version="1" data-location="Nevatia, Ritika | Ritika | FINAD > 1. Why Spark? > image2017-2-17 16:42:16.png" data-mce-src="https://confluence.rakuten-it.com/confluence/download/attachments/1125689077/image2017-2-17%2016%3A42%3A16.png?version=1&modificationDate=1487317337162&api=v2" data-unresolved-comment-count="0" src="https://confluence.rakuten-it.com/confluence/download/attachments/1125689077/image2017-2-17%2016%3A42%3A16.png?version=1&modificationDate=1487317337162&api=v2" style="margin-left: 2px; margin-right: 2px; max-width: calc(100% - 4px); vertical-align: text-bottom;" title="Nevatia, Ritika | Ritika | FINAD > 1. Why Spark? > image2017-2-17 16:42:16.png" /></div>
<h2 style="border-bottom-color: rgb(79, 36, 37); color: #333333; font-family: Arial, sans-serif; font-size: 20px; font-weight: normal; line-height: 1.5; margin: 30px 0px 0px;">
Parallel Processing</h2>
<div style="color: #333333; margin-top: 10px; word-wrap: break-word;">
<span style="font-family: "georgia" , "times new roman" , serif;">However,</span></div>
<div style="color: #333333; margin-top: 10px; word-wrap: break-word;">
<span style="font-family: "georgia" , "times new roman" , serif;">What if, we use that same batch processing model as above but with a twist. Let's say you had 5 different machines. You could give each group to one machine. The total time taken would be one fifth that of the batch processing model. This approach is called parallel processing. Roughly, instead of one worker, you have multiple workers who are working in batches:</span></div>
<div style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; margin-top: 10px; word-wrap: break-word;">
<img class="confluence-embedded-image" data-base-url="https://confluence.rakuten-it.com/confluence" data-image-height="281" data-image-src="/confluence/download/attachments/1125689077/image2017-2-17%2016%3A48%3A39.png?version=1&modificationDate=1487317720165&api=v2" data-image-width="540" data-linked-resource-container-id="1125689077" data-linked-resource-container-version="3" data-linked-resource-content-type="image/png" data-linked-resource-default-alias="image2017-2-17 16:48:39.png" data-linked-resource-id="1125698047" data-linked-resource-type="attachment" data-linked-resource-version="1" data-location="Nevatia, Ritika | Ritika | FINAD > 1. Why Spark? > image2017-2-17 16:48:39.png" data-mce-src="https://confluence.rakuten-it.com/confluence/download/attachments/1125689077/image2017-2-17%2016%3A48%3A39.png?version=1&modificationDate=1487317720165&api=v2" data-unresolved-comment-count="0" height="250" src="https://confluence.rakuten-it.com/confluence/download/attachments/1125689077/image2017-2-17%2016%3A48%3A39.png?version=1&modificationDate=1487317720165&api=v2" style="margin-left: 2px; margin-right: 2px; max-width: none; vertical-align: text-bottom;" title="Nevatia, Ritika | Ritika | FINAD > 1. Why Spark? > image2017-2-17 16:48:39.png" /></div>
<div style="color: #333333; margin-top: 10px; text-align: left; word-wrap: break-word;">
<span style="font-family: "georgia" , "times new roman" , serif;">This is also the approach that Spark takes to process our batches. The working of Spark is slightly different than the diagram above but we will come to the details later, in the next post.</span></div>
<h2 style="border-bottom-color: rgb(79, 36, 37); color: #333333; font-family: Arial, sans-serif; font-size: 20px; font-weight: normal; line-height: 1.5; margin: 30px 0px 0px;">
So, why Spark?</h2>
<div style="color: #333333; margin-top: 10px; word-wrap: break-word;">
<span style="font-family: "georgia" , "times new roman" , serif;">In conclusion, we can say that indeed batch processing is much faster than traditional processing. Further, the reason why parallel processing is faster than batch processing is because you operate with multiple groups at the same time instead of just one group at a time. Of course this means we need more resources to achieve this (e.g.: the number of workers required increases in the above diagrams).</span></div>
<div style="color: #333333; margin-top: 10px; word-wrap: break-word;">
<span style="font-family: "georgia" , "times new roman" , serif;">Batches which were being run on our mainframe, had very little logic to them. It was about feeding data from one process to another based on a bunch of conditions. Of course what I say is a very very simplified version of how it really looks like. But in summary, there was more work to do in getting the input and writing the output than there was in processing the data in between. Spark fit this choice because, even if we just got rid of the bloated processing of the converted code, we would have practically made no progress with the I/O operation. The logic processing would have pretty much remained the same. Apache Spark blessed us with the power of forgetting about the logic, and concentrating only on the I/O to speed up the processing times. It came with its own challenges, like writing the custom file readers and writers but that's the story of another post!</span></div>
<br />
<br /></div>
nevatiaritikahttp://www.blogger.com/profile/16655501873541408940noreply@blogger.com3tag:blogger.com,1999:blog-202791059041586496.post-54713240924246719322017-07-07T08:19:00.000-07:002018-05-20T21:25:52.487-07:00Everyday Motivation<div dir="ltr" style="text-align: left;" trbidi="on">
Nights like these which never cease<br />
When the warm summer air refuses to hug<br />
Tickles of sweat shining on forearms<br />
The noise of the silence across the neighborhood<br />
An array of mess waiting to be cleared<br />
Bullet things to do piling on top of other<br />
No drop of saliva wetting a mum mouth<br />
Dishes lying unwashed, laundry won't do itself<br />
A half eaten dinner won't fill up an empty heart<br />
<br />
Misses the mere presence of you</div>
nevatiaritikahttp://www.blogger.com/profile/16655501873541408940noreply@blogger.com2tag:blogger.com,1999:blog-202791059041586496.post-45784867413093824972017-04-06T19:56:00.001-07:002018-05-20T21:25:52.416-07:00Weather small talks<div dir="ltr" style="text-align: left;" trbidi="on">
<div>
<div>
<div style="text-align: right;">
From</div>
<div style="text-align: right;">
Hibernating under the heater</div>
<div style="text-align: right;">
Dragging through the dusky days</div>
</div>
<div style="text-align: right;">
Wriggling out of winter's wrath</div>
<div style="text-align: right;">
Pulling back from depressing emotions</div>
<div style="text-align: right;">
Crawling out of the sleepy snow<br />
And sobbing into the sleepless froids</div>
To</div>
<div>
Stepping into sunny springs</div>
<div>
Awaiting the pink blossoms</div>
<div>
Drinking beer to live a laugh</div>
<div>
Finding reasons to go to the beach</div>
<div>
Shedding off the excess fur</div>
<div>
Dressing up in hats and gowns<br />
Cheers to longer days and warmer spirits!<br />
<br />
<a href="https://3.bp.blogspot.com/-H41v5HySsrg/WOZIV_4O_MI/AAAAAAAAbf0/QLDjhiWdu8AUwN2AlKRH92x8xp2tW4KNwCPcB/s1600/IMG_20170406_110410-01.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="200" src="https://3.bp.blogspot.com/-H41v5HySsrg/WOZIV_4O_MI/AAAAAAAAbf0/QLDjhiWdu8AUwN2AlKRH92x8xp2tW4KNwCPcB/s200/IMG_20170406_110410-01.jpeg" width="150" /></a></div>
</div>
nevatiaritikahttp://www.blogger.com/profile/16655501873541408940noreply@blogger.com1tag:blogger.com,1999:blog-202791059041586496.post-46266276115992550902017-03-12T06:06:00.000-07:002018-05-20T21:25:52.452-07:00Immunity<div dir="ltr" style="text-align: left;" trbidi="on">
As young kids to learn about roaches<br />
how they've survived<br />
thousands of years<br />
Much before the humans evaded<br />
those days when the dinosaurs thrived<br />
they lived,<br />
in their tiny little bodies with hard rock armors<br />
The ultimate survivors of long lasting famines<br />
when food was scarce, they ate their own<br />
cannibals such<br />
Those pesticides and medicines<br />
they swallowed them all<br />
nothing can destroy them<br />
remnants of repellents they are<br />
In need of no homes,<br />
no particular demands<br />
ugly looking creatures, as strong they are<br />
In awe we remained<br />
of the yet scary resistant mortals<br />
mysterious experienced and immune.<br />
<br />
As adults to realize<br />
the cockroaches aren't scary no more<br />
they've emerged far more victorious<br />
than science textbooks care to mention<br />
In men lie their horcrux<br />
in their ability to advance<br />
despite worlds falling apart<br />
Shields of ignorance strengthened by recurrence<br />
attention spans too short to notice embellishments<br />
desires so selfish and hearts merciless<br />
the added audacity to take advantage of the weaker rest<br />
Abusing the abstract, defining their own<br />
men of powerful stature lurking in homes<br />
Not found in corners of pipes but<br />
relaxing in their immune chairs.</div>
nevatiaritikahttp://www.blogger.com/profile/16655501873541408940noreply@blogger.com1tag:blogger.com,1999:blog-202791059041586496.post-29078633103605227982016-10-12T07:09:00.000-07:002016-10-12T17:17:26.338-07:00Japanese Schools and High School Students<div dir="ltr" style="text-align: left;" trbidi="on">
As a part of Rakuten's IT School Program, I went across 4 schools in different parts of Japan to teach high school students of about age 15-16 to teach them about Cross Border Trading, in English!<br />
<b><br /></b>
<br />
<h2 style="text-align: left;">
<b>How the schools looked like</b></h2>
In general the school structures are the same across the country,<br />
There are huge playgrounds in the compound and dedicated play areas for different games - football fields, tennis and badminton courts being pretty popular. Once you enter the main building, it is totally silent. It is hard to imagine you're standing in a school.<br />
<br />
There's the main office where we would generally collect a visitor's badge. Just beside, there's a shoe-rack. You put your own shoes in there and wear dedicated slippers inside the building, strictly.<br />
The walls of the schools are covered in posters, advertisements, artworks, manga characters throughout the building. Once you enter the classroom, you change your slippers again. The students wear only socks inside, while teachers and guests keep their pair of previous slippers inside a rack and wear another fresh pair inside. Beside each rack there are several utilities to clean the rooms. Mops, floor washes, brooms etc.<br />
<h2 style="text-align: left;">
<b>Inside Classrooms</b></h2>
The classrooms are fully equipped! For a stationery craver like me, it was heaven! All kinds of colors, pens, sketch pens and the list is endless. They have a good supply of computers, digital pens, drawing boards, tablets for each student! Its a fantastic environment to be in!<br />
<br />
Since all schools are Japanese medium, all routines were conducted in Japanese. Before the class begins, the monitor instructs everyone to stand up, shout out a loud greeting <i>yoroshiku onegaishimasu</i> (literally means "Please help us") and bow down.<br />
<h2 style="text-align: left;">
<b>During class</b></h2>
This was especially challenging and difficult for me, since my lecture was in English but all schools were conducted in Japanese. I was afraid that communication would be a problem and they wouldn't understand what I speak. But thankfully, I managed by using simple words, reiterating important/difficult ideas and using Japanese words in between to keep it bound together.<br />
Classrooms are very liberal in a way, the teacher doesn't shout or wake up a kid if he is sleeping. But the students in general were very fascinated, for some of them were being taught by a foreigner the first time and for others, they were meeting an Indian the first time!<br />
<br />
<iframe allowtransparency="true" frameborder="0" height="511" scrolling="no" src="https://www.facebook.com/plugins/post.php?href=https%3A%2F%2Fwww.facebook.com%2Fnevatiaritika%2Fposts%2F935319886573811&width=500" style="border: none; overflow: hidden;" width="500"></iframe><br />
<br />
My class in Okinawa was particularly comfortable since the students were far more accustomed to English than the others. They even asked questions without hesitation and some of them even tweeted about me at the end of the lecture!<br />
<br />
<blockquote class="twitter-tweet" data-lang="en">
<div dir="ltr" lang="en">
<a href="https://twitter.com/beingritika">@beingritika</a> Mrs.Ritika!I'm saki of high school students nice to meet you🏃 <a href="https://t.co/lmk43U6En1">pic.twitter.com/lmk43U6En1</a></div>
— さきゆも (@93130Saki) <a href="https://twitter.com/93130Saki/status/776342631940890624">September 15, 2016</a></blockquote>
<br />
<script async="" charset="utf-8" src="//platform.twitter.com/widgets.js"></script><br />
<br />
I also took two classes in 2 schools of Aichi prefecture, which is about 2-3 hours from Tokyo, where students were more shy. They however didn't hesitate to ask me about Indian culture and latest trends in India! I somehow could feel the difference of students from Okinawa and from Aichi in terms of how shy they were, how mischievous or friendly they got and mostly the kind of questions they chose to ask me!<br />
A few girls told me about the trending app to take pictures from and then tweeted this picture with me:<br />
<blockquote class="twitter-tweet" data-lang="en">
<div dir="ltr" lang="en">
<a href="https://twitter.com/beingritika">@beingritika</a> Thank you for nice time :) !! <a href="https://t.co/ShIjgJ8URn">pic.twitter.com/ShIjgJ8URn</a></div>
— おかもと ゆうな (@YunA_UoxoU) <a href="https://twitter.com/YunA_UoxoU/status/780280532605149185">September 26, 2016</a></blockquote>
<br />
<script async="" charset="utf-8" src="//platform.twitter.com/widgets.js"></script><br />
<br />
My final lecture was in Nagoya. You could tell the kids had a mix of rural humility combined with modern thinking. They seemed far more ambitious and skilled than the other kids. Although they lacked English skills, they were tremendously good at presenting and making funny sales pitches.<br />
<br />
Some of the feedback I received at the end of the classes:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-4vP2qsxNHvE/V_5CoOugWHI/AAAAAAAAUW4/WMiPgrztIZ0E-l7tEPIsR1s5BMgboTCYwCLcB/s1600/Picture1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="173" src="https://2.bp.blogspot.com/-4vP2qsxNHvE/V_5CoOugWHI/AAAAAAAAUW4/WMiPgrztIZ0E-l7tEPIsR1s5BMgboTCYwCLcB/s200/Picture1.png" width="200" /></a><a href="https://1.bp.blogspot.com/-lsF_RPuZcxI/V_5A4Ohy_6I/AAAAAAAAUWs/y11c0tD-aeI_vT54kSYq4GDcZpux-A_OACLcB/s1600/Screen%2BShot%2B2016-10-12%2Bat%2B10.53.33%2BPM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="197" src="https://1.bp.blogspot.com/-lsF_RPuZcxI/V_5A4Ohy_6I/AAAAAAAAUWs/y11c0tD-aeI_vT54kSYq4GDcZpux-A_OACLcB/s200/Screen%2BShot%2B2016-10-12%2Bat%2B10.53.33%2BPM.png" width="200" /></a></div>
<br />
<br />
<b><br /></b>
<br />
<h2 style="text-align: left;">
<b>About students</b></h2>
I would say, the teachers like to imagine that their kids are shy, but given the comfort and ease, they very quickly jump to asking questions and try to talk in English. One more thing to notice was how much they cared about latest trends and fashion. I guess it is cool to be a high school student listening to popular music and wearing fancy clothes or using the coolest apps.<br />
<br />
In general, the kids are highly skilled at drawing and sketching. Brilliant anime characters, ease of use of Photoshop and the comfort with which they used their pens and colours was very exciting for me. Even in their pranks with other kids, they'd make funny faces of their pictures and set them as desktop wallpapers. In all, they are full of creative design skills and posses a good sense of expressing their thoughts across.<br />
<h2 style="text-align: left;">
<b>How I feel about it!</b></h2>
It was a tremendous experience! To have walked into schools, met students, given them a foreigner's perspective on web design, teach them a thing or two about Japan's economy and share my piece of thoughts! Most important take away for me, was to be able to communicate clearly in English with non-native speakers! I have thoroughly enjoyed the special attention I received at all schools! Cheers!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-n0SRbxdbuVU/V_5D27ebJMI/AAAAAAAAUXE/KE1ica6CEsEsbYCAW94rKYJpTMR_NQQpwCLcB/s1600/image-0-02-06-d1122f30fc7b4052a8bba90accf22057aff0983f5a1b4fddc66b4d2d7918d53e-V.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://2.bp.blogspot.com/-n0SRbxdbuVU/V_5D27ebJMI/AAAAAAAAUXE/KE1ica6CEsEsbYCAW94rKYJpTMR_NQQpwCLcB/s320/image-0-02-06-d1122f30fc7b4052a8bba90accf22057aff0983f5a1b4fddc66b4d2d7918d53e-V.jpg" width="320" /></a></div>
<br /></div>
nevatiaritikahttp://www.blogger.com/profile/16655501873541408940noreply@blogger.com1tag:blogger.com,1999:blog-202791059041586496.post-61511922294702281362016-08-11T09:32:00.000-07:002016-08-11T09:32:10.142-07:00Noisy flights and sleepless nights<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<span style="font-size: 12.8px;">They are talking about the randomest shit possible the moment you spot them. They are already engrossed into their deep conversation about the fragrance in the air and how its Chinese version available in the streets of Borivali for so cheap. </span></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
I'm speaking of - a small section of the Indian community - Gujaratis.</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
I've taken numerous flights and encountered plenty of them, and never ever do they fail to meet my expectations of a sleepless flight. Because when God blesses us with a mouth and high shrilled voice, we ought to speak our lungs out, right? </div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
Believe me, Gujaratis can go on chit chatting non stop for hours. About nothing significant. Their pitched voice runs like a chant in your head. You don't want to listen it, but you are. In fact, now you know everything super personal about them. And if you happen to have your seat besides a Gujarati family, you are doomed. By the end of it, you'll know what the mother cooked for breakfast, how many theplas the kid ate, how many she packed for the flight owing to her insecurities about the flight food, how she was perfectly right about it and numerous other things you could have lived well without knowing at all. </div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
But I'll give one thing to them - their fathers are perhaps the best fathers in the world. Allow me to give you some background - </div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
as a kid, I was so curious. About so many things. I was constantly nagging my mom and dad with questions. If it was a public place, mum either whispered the answer in my ear or she simply asked me to wAit for her explanation until we got home. But my dad, he always ignored my silly questions. He'd mostly sit with me on Sundays to talk about science stuff and teach me a thing or two. No surprises, my past questions always popped up amongst them. But at the moment, he'd ignore me. He'd pretend to have unheard anything and just continue reading the newspaper or some tax-related book. </div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
But, but, our Gujarati fathers. They will always entertain any question asked by their kid. Any. They are ready with 50 lines of explanation, which starts at the very basic presumptions a kid 4 years younger than their kid would have. They'll take 10 lines to reach the question, 20 to answer the question, 10 to conclude and by the next 10 lines they are talking about something else altogether. Wow. Tremendous patience and will to educate their child with their own knowledge. </div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
Reminds of how jobless the men in Hindi TV serials are..</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
Anyway, </div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
You just cannot sleep even if the lights in the airplane have dimmed down. Because you're busy listening to the explanation of what the lady serving food in the air craft is called followed by how the dad once saw a horse in the middle of the street in Ahmedabad. </div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
The Gujarati family is determined to not let you or anyone near you sleep.</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
And you know what gets worse? Put a bunch of Gujaratis with another bunch of Chinese in one bus. </div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
This happened to me on my flight from Shanghai to Delhi. We had to take a shuttle to board the flight. And unlike those short trips, this was reaaaally long. The entire shuttle, as you can imagine was full of Indians and Chinese. Since I cannot comprehend the language, all the Chinese jibber jabber went on like a "chi chi chi chu cha chau" in my head. Constant noise in the back of my mind. Like a background score for all my thoughts. But, I had no thoughts. What remained of my brain's concentration memory block was completely occupied by 6 Gujarati men discussing about the politics in Gujarat. Since I understand Gujarati, their conversation was my mainstream thought. Shit. 20 mins in pure mess.</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
The nonstop banter of these six gentlemen gave me a serious headache as unfortunately my seat was next to them in the adjacent aisle. They bought alcohol and Gujarati food with them and talked as they ate. After the entire plane finished dinner and the lights were turned off, they opened 3 <i>dakes</i> of cards. To play. They did not play in silence. I closed my eyes, tried hard to sleep. But I just couldn't. At every step I knew which uncle was betting how much and what the outcome was at the end of the hand. </div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
While I was wondering, is it only me? My young <i>tomodachi </i>(Japanese for friend) next to me asked why Indians were so talkative. I just shrugged. We both tried to sleep for the next 45 mins until I remember we were no longer checking up on each other. </div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
We even tried, to politely ask them to play a little more quietly. It worked, for a minute or two. And just when we thought we succeeded, Bhavesh uncle had already declared his winning hand, ready for some loud fun. </div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
I realise as I say this, no doubt the Gujaratis are the ones who have the maximum fun in their definition. They care about nothing, no one and will do what they are doing with super confidence as if it's the right thing to do. But it doesn't hurt to shut up for a while or whisper for a little talk in order to be considerate to fellow passengers. </div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
I made a horrendous mistake of forgetting my earphones In the recent trip, but now I'm all equipped And ready for my flight from Delhi to Shanghai. I will sleep. </div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-A5a-lxHLBjo/V6yoPpWYQZI/AAAAAAAATOo/6OlMydWXILA2EAo7wxx-7yEQwA7GDGNpQCLcB/s1600/people-trying-to-sleep-during-flight-in-commercial-airplane-economy-AAMA0F.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="262" src="https://4.bp.blogspot.com/-A5a-lxHLBjo/V6yoPpWYQZI/AAAAAAAATOo/6OlMydWXILA2EAo7wxx-7yEQwA7GDGNpQCLcB/s320/people-trying-to-sleep-during-flight-in-commercial-airplane-economy-AAMA0F.jpg" width="320" /></a></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<br /></div>
</div>
nevatiaritikahttp://www.blogger.com/profile/16655501873541408940noreply@blogger.com1tag:blogger.com,1999:blog-202791059041586496.post-79237271200599829302016-07-30T09:34:00.001-07:002016-07-30T09:34:11.384-07:00Overlay<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-hqjWcukIdag/V5zWoUDci8I/AAAAAAAATMI/DKXqQh6K3KEmYNf5pIcfAtNjktF6YCAMACLcB/s1600/g.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://4.bp.blogspot.com/-hqjWcukIdag/V5zWoUDci8I/AAAAAAAATMI/DKXqQh6K3KEmYNf5pIcfAtNjktF6YCAMACLcB/s320/g.jpg" width="320" /></a></div>
<br /></div>
<div dir="ltr" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<br /></div>
<div dir="ltr" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
What do you see when you look out the glass window of a moving bus?<br />
A faint portrait of yourself,<br />
Staring in the eye<br />
Feeling your pain in the waters floating at the brink?</div>
<div dir="ltr" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<br /></div>
<div dir="ltr" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
Or do you see,<br />
The tim-tim lights<br />
Brightening up the entire vicinity<br />
Burning itself out to illuminate the rest<br />
Choosing to be source of happiness rather than wallow in self pity?</div>
<div dir="ltr" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<br /></div>
<div dir="ltr" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
Today I looked out the glass window again,<br />
And I wondered, what do I want to be?<br />
Frozen in time or set life free<br />
I instantly knew what I had to focus my eyesight on</div>
<div dir="ltr" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<br /></div>
<div dir="ltr" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
My love is unconditional,<br />
It isn't any less than it was when I was delusional<br />
But then, now as much I want to be with you<br />
I just don't want you anymore. </div>
</div>
nevatiaritikahttp://www.blogger.com/profile/16655501873541408940noreply@blogger.com2tag:blogger.com,1999:blog-202791059041586496.post-84335680203538386772016-06-18T20:14:00.000-07:002016-06-18T20:14:04.445-07:00Waiting on shore<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: center;">
You have nothing.</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
You have a pile of secrets and lies,</div>
<div style="text-align: center;">
and you are calling it love.</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
In the meantime,</div>
<div style="text-align: center;">
you are letting your whole life pass by,</div>
<div style="text-align: center;">
while,</div>
<div style="text-align: center;">
they celebrate anniversaries</div>
<div style="text-align: center;">
and grow old together.</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
You are frozen in time.</div>
<div style="text-align: center;">
Holding your breath,</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
You are a statue,</div>
<div style="text-align: center;">
waiting for something,</div>
<div style="text-align: center;">
which is never going to happen.</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
You are living,</div>
<div style="text-align: center;">
stolen moments in</div>
<div style="text-align: center;">
hotel hallways and coat closets.</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
You keep telling yourself,</div>
<div style="text-align: center;">
they all add up to something real</div>
<div style="text-align: center;">
Because,</div>
<div style="text-align: center;">
in your mind they have to,</div>
<div style="text-align: center;">
but they don't.</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
They won't.</div>
<div style="text-align: center;">
They never will.</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
Stolen moments are not a life.</div>
<div style="text-align: center;">
So you have nothing.</div>
<div style="text-align: center;">
You have no one.</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
End it now.</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
<img height="211" src="https://imprintsoflight.files.wordpress.com/2012/07/dsc_3501_wp.jpg" width="320" /></div>
<div style="text-align: center;">
<span style="color: #999999; font-family: Georgia, Times New Roman, serif; font-size: xx-small;">"Waiting on shore" in Rosses Point, Ireland</span></div>
<div style="text-align: center;">
<br /></div>
</div>
nevatiaritikahttp://www.blogger.com/profile/16655501873541408940noreply@blogger.com0tag:blogger.com,1999:blog-202791059041586496.post-56134548588991552902016-05-31T07:15:00.000-07:002016-05-31T07:15:35.668-07:00Aroma lingers<div dir="ltr" style="text-align: left;" trbidi="on">
Tired, exhausted,<br />
Stressed, sick,<br />
She turns the keys,<br />
Switches on the lights.<br />
<br />
Looks back,<br />
something is missing<br />
<br />
Checks her phone,<br />
Zero missed calls,<br />
Shuns it away,<br />
I don't care.<br />
<br />
Checks back,<br />
something is missing<br />
<br />
Sinks into the bathtub,<br />
Plays with water,<br />
Sings Adele,<br />
Tries to rest.<br />
<br />
Thinks back,<br />
something is missing<br />
<br />
Stomach growls,<br />
Head aches,<br />
Kitchen is calling,<br />
Lights the stove.<br />
<br />
Extinguishes back,<br />
something is missing<br />
<br />
Straightens the bedsheets,<br />
Dims the room,<br />
Smells his hair,<br />
Only finds a pillow<br />
<br />
Hugs back,<br />
something is missing<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-zJwmUISofgk/V02cV9Pu3MI/AAAAAAAAR1Y/si189XOfu7QLm4JFWbH9Dq_SLoGE7SiowCLcB/s1600/IMG_4389.JPEG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://2.bp.blogspot.com/-zJwmUISofgk/V02cV9Pu3MI/AAAAAAAAR1Y/si189XOfu7QLm4JFWbH9Dq_SLoGE7SiowCLcB/s320/IMG_4389.JPEG" width="320" /></a></div>
<br /></div>
nevatiaritikahttp://www.blogger.com/profile/16655501873541408940noreply@blogger.com3tag:blogger.com,1999:blog-202791059041586496.post-6335563980983225572016-05-21T04:58:00.001-07:002016-05-21T04:58:41.663-07:00Trade-offs for an innocent soul<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: inherit;">Premchand, he's the Shakespeare of Hindi Literature. As a kid, I read many of his short stories and long essays to improve my vocabulary in the language. One of my favorites is still a mystery in many ways as I encounter the same story again and again, every time I try to advise my innocent friend.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">So,</span><br />
<div style="text-align: left;">
<span style="font-family: inherit;">Premchand's story lead works at a government office in rural India. He talks about this very irreproachable peon in his office. The peon is as innocent as a cow - keeps away from office politics, never gives/accepts bribes and is a very hardworking man. He makes very little money but stays happy with his hard-earned pennies and caters a small family in a small house in the village. He never fancies big cars and pompous things because he knows, he cannot afford it. He believes "It is better to suffer the wrong rather than inflict the wrong". He is genuinely happy with the little materialistic world he spawns around him until he meets the author's lead. </span></div>
<div style="text-align: left;">
<span style="font-family: inherit;">The lead feels sorry (or pity should I say) for the poor peon. He knows everyone in office accepts bribes are so rich! They don't care about their job and just want to stack cash in the shortest possible time. He calls the peon to his office, and tells him, "You are such an idiot, you are so susceptible to bullying. You let opportunities pass by you." and he teaches the peon how to make more money in less time. The lead of the story thinks he is just helping the peon become a better person by equipping him with daily tricks to living a more comfortable life.</span></div>
<div style="text-align: left;">
<span style="font-family: inherit;">Now the lead goes to business trip for a few months and when he comes back, he is left speechless. The peon who would not utter a word when his salary was never raised, now is the head of all peons. He is suddenly no more that passive hard-working man but an arrogant, rude, fat-tummied bastard. He's crazy rich with his wealth multiplying as every hour passes. Heck of all things, people salute him! And the lead is left wondering... "<b>Did I do the right thing</b>?"</span></div>
<div style="text-align: left;">
<span style="font-family: inherit;"><br /></span></div>
<div style="text-align: left;">
<span style="font-family: inherit;">I have a friend, with whom I am open enough to point out his mistakes. I have a younger brother, who is such a cow himself. My dad, he must have never bitten an inch more than what he could chew. All these three men, in their own little worlds are so so innocent. So much more than me. They don't have any grudges in their hearts. They believe in hard work and nothing else. For them, to some extent, even getting favors due to being social is wrong. They have their diaries clean and don't have the <i>"basic common sense"</i> that I, as a smart cunning woman would call it.</span></div>
<div style="text-align: left;">
<span style="font-family: inherit;"><br /></span></div>
<div style="text-align: left;">
<span style="font-family: inherit;">To cite some crude examples, they say things like "I cannot afford it" to colleagues when they go shopping for a meager amount. Instantly, the thought runs in my head - I wouldn't buy that myself. Its not worth the price. But would I say that so honestly to a colleague? He would judge me so hard that I am buying cheaper milk. I would rather say, I don't like that brand or make up something like that.</span></div>
<div style="text-align: left;">
<span style="font-family: inherit;">So many such instances, when I want to hold their hand, and tell them - shut up! Don't be so innocent! Be foxy! </span></div>
<div style="text-align: left;">
<span style="font-family: inherit;"><br /></span></div>
<div style="text-align: left;">
<span style="font-family: inherit;">But then I fear, do I want to transform them into people they were not meant to be? Am I asking them to give up their niceness, their very quality of being so simple that I adore? Would it be worth the price? Sure as hell they would be hailed more social than before, but why should I ask them to adorn that mask? These are the very people who make me expose my real side to them. I don't fear telling them things shamelessly as they are. And then all the other times, I make up shit. But them, they are always so to-the-point. They have their priorities set, they don't give a fuck in the truest sense. And I am asking them to start doing pointless things. I won't deny these very pointless things are what bring me some good favors here and there but its such a huge trade-off. Selling my real self and thoughts for a thing or two? What kind of help is that? What kind of advice is that?</span></div>
<div style="text-align: left;">
<span style="font-family: inherit;"><br /></span></div>
<div style="text-align: left;">
<span style="font-family: inherit;">A dilemma that I will always have, </span></div>
<div style="text-align: left;">
<span style="font-family: inherit;">because that very cunning nature is instilled in me already. I don't mean any bad to anyone but I can just get away with anything.. But should I really suggest my dear ones the same? Will I be making a mistake as Premchand's lead did?</span></div>
<div style="text-align: left;">
<span style="font-family: inherit;"><br /></span></div>
<div style="text-align: left;">
<span style="font-family: inherit;">What do you think?</span></div>
<div style="text-align: left;">
<span style="font-family: inherit;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-rmICVRPH3Vw/V0BNIs3eHCI/AAAAAAAARtM/Hic2bSVd_Tcvq1DqtNbFDZJbh_BLm2Q_ACLcB/s1600/fox-579202_960_720.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="289" src="https://1.bp.blogspot.com/-rmICVRPH3Vw/V0BNIs3eHCI/AAAAAAAARtM/Hic2bSVd_Tcvq1DqtNbFDZJbh_BLm2Q_ACLcB/s320/fox-579202_960_720.jpg" width="320" /></a></div>
<div style="text-align: left;">
<span style="font-family: inherit;"><br /></span></div>
</div>
nevatiaritikahttp://www.blogger.com/profile/16655501873541408940noreply@blogger.com8tag:blogger.com,1999:blog-202791059041586496.post-45402471458541001762016-05-18T06:57:00.000-07:002016-05-18T06:57:17.882-07:00Silence<div dir="ltr" style="text-align: left;" trbidi="on">
There are Romeos and Juliets<br />
Where death doesn't bound love<br />
And there are Commonoes and Commonets<br />
Where room partitions timeless souls<br />
While we tell the world to look beyond their smartphones<br />
We sit corners with our ears plugged earphones<br />
The day starts fresh like the garden mint leaves<br />
But dies down lonely filling up emptiness<br />
Even the urge to infuse is subdued with gallons of egos<br />
A gesture or two to make the presence known<br />
But subtle and quiet to arise guilt<br />
Because fear is also splitting us<br />
Sudden jerks of freeze where the world stills down<br />
The thought in its lighting gaze speed<br />
Fancies how you can be the first one to extend a hand<br />
And spawns the conversations further<br />
A laughter or two sprinkled here and there<br />
A tear flows down the left eye<br />
But as she refuses to budge from the cozy bed<br />
She continues typing into her screen<br />
All the words left unsaid..<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-x_S2KPCVNbk/Vzx0Wh9IeiI/AAAAAAAARso/r2ecBUUnrh832gT2fW2m_tFDBjQ0j6tpACLcB/s1600/normal_Heartbreak_Motel.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://4.bp.blogspot.com/-x_S2KPCVNbk/Vzx0Wh9IeiI/AAAAAAAARso/r2ecBUUnrh832gT2fW2m_tFDBjQ0j6tpACLcB/s320/normal_Heartbreak_Motel.jpg" width="266" /></a></div>
<br />
<div style="text-align: center;">
<span style="font-size: xx-small;"><span style="color: #999999; font-family: Arial, Helvetica, sans-serif;"><i>Image: https://www.artdoxa.com/thorstendittrich/large?page=70</i></span></span></div>
</div>
nevatiaritikahttp://www.blogger.com/profile/16655501873541408940noreply@blogger.com0tag:blogger.com,1999:blog-202791059041586496.post-54473272353503848132016-05-01T09:35:00.000-07:002016-05-01T09:35:55.219-07:00Reflection<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: center;">
It was no longer tamed</div>
<div style="text-align: center;">
By the wrath of the of the hot star</div>
<div style="text-align: center;">
The beach had died down</div>
<div style="text-align: center;">
Setting all chains apart</div>
<div style="text-align: center;">
Adorned a silver tiara</div>
<div style="text-align: center;">
Let the agility to a cease</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
The streets were quiet</div>
<div style="text-align: center;">
The dogs fast asleep</div>
<div style="text-align: center;">
'twas me and only me</div>
<div style="text-align: center;">
In the serene company of a glowing light</div>
<div style="text-align: center;">
Bathing in the metallic sea</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
Rustling breeze in my hair</div>
<div style="text-align: center;">
I couldn't be less carefree</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
We walked a thousand miles</div>
<div style="text-align: center;">
Atleast what it seemed like</div>
<div style="text-align: center;">
Amidst the settled chatter</div>
<div style="text-align: center;">
Of the men of the sea</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
Unaware of a material world</div>
<div style="text-align: center;">
Bored by the boundaries of the earth</div>
<div style="text-align: center;">
Lunatics, in search of peace</div>
<div style="text-align: center;">
Who stopped only when they saw</div>
<div style="text-align: center;">
What their souls had been searching for</div>
<div style="text-align: center;">
There it was,</div>
<div style="text-align: center;">
In pitch darkness</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
Only our legs could sense it,</div>
<div style="text-align: center;">
The patterns of the Tatami</div>
<div style="text-align: center;">
Only our eyes could hear it,</div>
<div style="text-align: center;">
The patterns of the diamond designs</div>
<div style="text-align: center;">
Only our ears could see it,</div>
<div style="text-align: center;">
Rustling stories of the waves</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
Only our souls could now rest</div>
<div style="text-align: center;">
As our bodies sank into the rough land</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
It was me and my reflection</div>
<div style="text-align: center;">
The flame and the fire</div>
<div style="text-align: center;">
Burning beautifully in the strongest winds</div>
<div style="text-align: center;">
Seeking the shape of the breeze</div>
<div style="text-align: center;">
To strengthen its own</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
Two of a kind</div>
<div style="text-align: center;">
Began on a journey</div>
<div style="text-align: center;">
To each of their own</div>
<div style="text-align: center;">
My reflection and me</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
My reflection and me..</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
<a href="http://2.bp.blogspot.com/-pKFMjojc8xo/VyYv3scTj_I/AAAAAAAARM8/CmNEcDLEH4gCAVD-unwCaxumY4nCv1lqACK4B/s1600/19608875846_3afae20a86_o.jpg" imageanchor="1"><img border="0" height="320" src="https://2.bp.blogspot.com/-pKFMjojc8xo/VyYv3scTj_I/AAAAAAAARM8/CmNEcDLEH4gCAVD-unwCaxumY4nCv1lqACK4B/s320/19608875846_3afae20a86_o.jpg" width="213" /></a></div>
<div style="text-align: center;">
<span style="font-size: xx-small;"><i>Picture: https://www.flickr.com/photos/vlumi/19608875846/in/album-72157650630382969/</i></span></div>
<div style="text-align: center;">
<br /></div>
</div>
nevatiaritikahttp://www.blogger.com/profile/16655501873541408940noreply@blogger.com3tag:blogger.com,1999:blog-202791059041586496.post-50206912913881796332016-02-20T03:55:00.000-08:002016-02-20T03:55:12.506-08:00Being the nature, shaken and broken, yet..<div dir="ltr" style="text-align: left;" trbidi="on">
The burden was just pulled off<br />
Sudden freedom, not what I was expecting<br />
Just like how your lungs will breathe<br />
If given pure oxygen<br />
I stood still<br />
Spiralling deep into the void with my naked eyes<br />
My brain spinning thoughts faster than time<br />
Faster than the speed of light<br />
The grey carpet on the floor became<br />
A canvas for the hungry whore<br />
Processing how would I return<br />
More than 2800 entries in SQL query<br />
Oh my god, did I spill a secret?<br />
Oh wait, I think I am smelling the next round again<br />
Damn, no its only the mint flavored regular<br />
Anyway, where were we?<br />
There are so many threads running<br />
My heart was racing<br />
Yet I painted pictures<br />
Of the glory I will wear<br />
I didn't want to move<br />
Because I didn't know<br />
If my body could balance itself<br />
In the presence of zero gravity<br />
Left to its will<br />
Next moment courage rushed in<br />
Illusion, he said..<br />
I went into an art illusion<br />
Tripping my thoughts<br />
On an orange blog<br />
Oh no, there I go faster than my fingers again<br />
So courage rushed in,<br />
Heavy metal played<br />
I decided to sway my head to the right<br />
I felt as if I am falling<br />
But I decided to take the leap of faith<br />
So free I felt<br />
Free-er than the white pigeon<br />
I wonder<br />
If it makes you barge all closed gates<br />
Like a greedy big black dog<br />
Hounding for its prey<br />
Why is called being stoned?<br />
<br />
P.S: being the nature, shaken, broken yet only being not complaining like a stone.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-9eS4QCwuwSA/VshT6nsWf1I/AAAAAAAAREE/IbVHVoT--mA/s1600/random_trippy_background_by_lunaspectrum-d6vl1y2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="246" src="https://2.bp.blogspot.com/-9eS4QCwuwSA/VshT6nsWf1I/AAAAAAAAREE/IbVHVoT--mA/s320/random_trippy_background_by_lunaspectrum-d6vl1y2.png" width="320" /></a></div>
<br /></div>
nevatiaritikahttp://www.blogger.com/profile/16655501873541408940noreply@blogger.com0tag:blogger.com,1999:blog-202791059041586496.post-32903701775508951102016-01-03T12:06:00.000-08:002016-01-03T12:08:04.874-08:00Chinese Temple Tour - Longshan Temple Taipei!<div dir="ltr" style="text-align: left;" trbidi="on">
A kind Taiwanese man, approached me to explain the rituals at a Chinese temple in Taipei, Taiwan called Longshan Temple when he saw the curiosity on my face.<br />
<br />
Needless to say, it was an amazing experience where he told me in detail, what to do, how to do, and why to do so. I have tried to explain this in the following presentation:<br />
<br />
<iframe allowfullscreen="true" frameborder="0" height="366" mozallowfullscreen="true" src="https://docs.google.com/presentation/d/1w61kY4WqGAOpEer49sYOXnF_Uz9O8q739j-wGEQXVoM/embed?start=false&loop=true&delayms=60000" webkitallowfullscreen="true" width="600"></iframe><br />
<br />
Leave your comments below on the virtual tour!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-sxr1rNY6Qjc/Vol_kfK6iYI/AAAAAAAAQ_Q/7wDR52Xol9E/s1600/IMG_3503.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-sxr1rNY6Qjc/Vol_kfK6iYI/AAAAAAAAQ_Q/7wDR52Xol9E/s320/IMG_3503.JPG" width="320" /></a></div>
<br />
<br /></div>
nevatiaritikahttp://www.blogger.com/profile/16655501873541408940noreply@blogger.com0tag:blogger.com,1999:blog-202791059041586496.post-38397272700879156552015-11-26T05:57:00.001-08:002015-11-26T05:57:31.671-08:00Stories<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: center;">
Stories,</div>
<div style="text-align: center;">
We spend our lives telling them</div>
<div style="text-align: center;">
Once upon a time</div>
<div style="text-align: center;">
About you, about him</div>
<div style="text-align: center;">
About her, about people</div>
<div style="text-align: center;">
About this, and that</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
Stories,</div>
<div style="text-align: center;">
We look for them</div>
<div style="text-align: center;">
They make our lives interesting</div>
<div style="text-align: center;">
Events, accidents, memories, </div>
<div style="text-align: center;">
We want to bash into one</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
Stories,</div>
<div style="text-align: center;">
We want to recite them</div>
<div style="text-align: center;">
Again and again</div>
<div style="text-align: center;">
To our children,</div>
<div style="text-align: center;">
To our grandchildren</div>
<div style="text-align: center;">
Till they remember them</div>
<div style="text-align: center;">
And they recite them</div>
<div style="text-align: center;">
To their children and grandchildren</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
Stories,</div>
<div style="text-align: center;">
They are so good</div>
<div style="text-align: center;">
We wish they never end</div>
<div style="text-align: center;">
So gripping</div>
<div style="text-align: center;">
You want to hear </div>
<div style="text-align: center;">
A little bit more</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
Stories,</div>
<div style="text-align: center;">
Some bring laughter</div>
<div style="text-align: center;">
Some tears</div>
<div style="text-align: center;">
Anger. Lust. Greed. Rush.</div>
<div style="text-align: center;">
They are so powerful</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
But isn't that what a great story does?</div>
<div style="text-align: center;">
They make us feel</div>
<div style="text-align: center;">
Make us believe</div>
<div style="text-align: center;">
What we stand for</div>
<div style="text-align: center;">
What we fight for</div>
<div style="text-align: center;">
What we live for</div>
<div style="text-align: center;">
What we lived for..</div>
<div style="text-align: center;">
Once upon a time,</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
Stories,</div>
<div style="text-align: center;">
Are like diamonds</div>
<div style="text-align: center;">
Precious and pure,</div>
<div style="text-align: center;">
They really are with us forever</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-0EUzb3drJfY/VlcPZTk7F1I/AAAAAAAAQ8o/FutDjKbAIJY/s1600/21917338780_b8680f4585_o.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-0EUzb3drJfY/VlcPZTk7F1I/AAAAAAAAQ8o/FutDjKbAIJY/s320/21917338780_b8680f4585_o.jpg" width="212" /></a></div>
<div style="clear: both; text-align: center;">
<i><span style="font-size: xx-small;">Image: https://www.flickr.com/photos/vlumi/21917338780/</span></i></div>
<br /></div>
nevatiaritikahttp://www.blogger.com/profile/16655501873541408940noreply@blogger.com0tag:blogger.com,1999:blog-202791059041586496.post-29229368362020305782015-10-29T07:03:00.000-07:002015-10-29T07:03:52.960-07:00The moon and you<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;">Often it is much easier said than done<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;">To accept the changes around you<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;">Accept them graciously as a part of fun<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;">For life which hates being a dead heartbeat<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<br /></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;">Meet new crossroads and fresh intersections<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;">Pause for a while, think, re-evaluate, decide<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;">Choose between the paths new and old ones<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;">With the fear of guilt that cloud the dark gray sky above<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<br /></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;">The flickering quivering lights on the street<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;">Make you wonder if this is a signal or a sign<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;">To add the ups and downs to a live heartbeat<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;">And then you question since when you adopted superstitions<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<br /></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;">You are running out this invaluable time<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;">Dawn is so close, make up your mind quick<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;">Wasting this moment, nothing is a bigger crime<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;">A position where no regret can be afforded<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<br /></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;">You see far, try to envision what it will be like<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;">A small source of illumination is all you see<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;">But the same on the counterpart, you lose your psyche<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;">It seems *<b>exactly</b>* the same, what will you do now?<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<br /></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;">Nothing seems the same, nothing at all, none<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;">Even the stars have lost their shine<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;">And one by one, the journey its companions<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;">But this delta is the only motivation long lost<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<br /></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;">Just to keep your heart reassured, you want that one thing<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;">Which tells you things haven’t changed, it’s just an illusion<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;">And that’s when you looked up in the sky, to gaze<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;">At the moon which was, has been and will be the only constant</span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-vAOtnHA-FUE/VjImfTEhluI/AAAAAAAAQ5I/WrnuvWR89Us/s1600/21763773181_4df27d34e4_z.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-vAOtnHA-FUE/VjImfTEhluI/AAAAAAAAQ5I/WrnuvWR89Us/s320/21763773181_4df27d34e4_z.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<i><span style="font-size: x-small;">Picture: https://www.flickr.com/photos/vlumi/21763773181/in/photostream/</span></i></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;"><br /></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Arial, sans-serif; font-size: 10.5pt; margin: 0mm 0mm 0.0001pt; text-align: justify;">
<span lang="EN-US" style="font-size: 10pt;"><br /></span></div>
</div>
nevatiaritikahttp://www.blogger.com/profile/16655501873541408940noreply@blogger.com0Fukuoka, Fukuoka Prefecture, Japan33.5903547 130.4017155000000233.1673787 129.75626850000003 34.0133307 131.0471625tag:blogger.com,1999:blog-202791059041586496.post-53937538397800291102015-10-17T18:58:00.000-07:002018-05-20T21:28:07.153-07:00A home in Osaka<div dir="ltr" style="text-align: left;" trbidi="on">
I got an email stating that my flight from Osaka to Fukuoka got cancelled 15 minutes before I was about to check out from the hotel. I rescheduled it to the next day, but this also meant I had to now extend my stay in Osaka. I booked a hotel on agoda.com and set out to check-in there.<br />
<br />
Since it was a "cheap" hotel, I almost had reached the outskirts of the city. After asking for the location atleast five times, I managed to see the building (rather, a bungalow). An old lady opened the door, and let me in. She asked me to remove my shoes outside and gave me a clean set of slippers to use inside the house. Yes, it was a house, belonging to the old lady, where she rented out rooms to guests to make money. She started looking for my booking in her spreadsheet. It wasn't there!<br />
<br />
I had made the booking only an hour ago, and her spreadsheet had not been updated. The real trouble began now - she did not speak English, none at all. Her only words were "No English. Chinese? Nihongo?". I nod. She opened up her messaging service and called her daughter, she didn't answer. She called her son, he didn't answer. Apparently they knew English. I tried translate on Google to tell her that I made the payment an hour ago, ask your son to update the sheet. She couldn't understand the translate. After calling a lot of people, who did their best by using Google Translate, nobody reached a conclusion. Her son had to update the spreadsheet, which he didn't and now he wasn't available.<br />
<br />
Finally after a struggle of lots of translations and nobody understanding anything, her son called, and updated the spreadsheet about an hour and half post my arrival. She got really apologetic, folded her hands, and apologized a lot in Chinese/Japanese or whatever it was. She gave me keys to my room and showed me around to make me comfortable.<br />
<br />
I was bored in the evening. I thought I'd sit with her for a while in the living room. She was watching some Japanese TV channel who were broadcasting how shrines are made. She noticed my anklet and asked me about it. I translated silver in Japanese and she understood. Then we started talking cultures. I showed her pictures from India, how women dress up. It was crazy dumb charades. We both used sign language as the only means of communication. I showed her our festivals in pictures and some vegetarian food! She couldn't believe the variety we can have for vegetarians!<br />
<br />
It was her turn next. She was from Taiwan, she told me. She googled for pictures and showed me some shrines and how things are done. Then she showed me pictures of her family and asked me about mine. I showed her my sketches and she recognized Dalai Lama, Micheal Jackson and a few others. She kissed my hands as a sign of appreciation. We added each other on Facebook, and she wrote "Thank You in Chinese" on my wall. Further she gave me this beautiful keyring. Further when she learnt my family is back in India, she asked me to call her mama! :)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-5mlYjKYgU6I/ViL7NLt3lrI/AAAAAAAAQ30/Ix2iFWstNLo/s1600/811839274_114024.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://4.bp.blogspot.com/-5mlYjKYgU6I/ViL7NLt3lrI/AAAAAAAAQ30/Ix2iFWstNLo/s320/811839274_114024.jpg" width="239" /></a></div>
<br />
<br />
She kissed my eyes and said "Beautiful". I was touched. I went back to my room. I was shaken with the amount of love she showered on me. I opened my bag, found my notebook and my pencil and started sketching her!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-EJDFFEehIhM/ViL7GJju6RI/AAAAAAAAQ3s/rxbvEJLhKdM/s1600/814725463_13933.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="239" src="https://3.bp.blogspot.com/-EJDFFEehIhM/ViL7GJju6RI/AAAAAAAAQ3s/rxbvEJLhKdM/s320/814725463_13933.jpg" width="320" /></a></div>
<br />
<br />
When I gave her the completed sketch, she went to her attic, got a glass frame, and hanged the picture framed on her wall. It was just so amazing to see it up there! She wouldn't stop chanting a lot of words in Chinese! She kept thanking me and hugging me, and then I went back to sleep in a while.<br />
<br />
Next morning when I was about to leave, she hugged me many times again. I had some plastic covers in my hand, she ran inside to get me a bag to keep them in. I politely refused, knowing I can't give it back to her again. She hugged me again. She said the three magical words: "I love you". And hugged me even more. As dramatic as this seems, the moment got emotional. When I bent to tie my shoe laces, she held my hand, sat down and started tying them herself. When I pulled myself back, she pointed at herself and said, "mama". And tied them into a neat bow. She hugged me an I love you again and we bid goodbye.<br />
<br />
She came till the train station to see me off, and showed me the figure "3500" on my hand. That was the amount I paid for the room. She crossed it and wrote "2500". We hugged again, and I left. I guess I have a home in Osaka!<br />
<br />
Here is what she wrote as a comment by sharing my profile picture to her friends:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-nZLv77iwax8/ViL8l4ZQvkI/AAAAAAAAQ4A/64iQK-BFlLo/s1600/Untitled.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://4.bp.blogspot.com/-nZLv77iwax8/ViL8l4ZQvkI/AAAAAAAAQ4A/64iQK-BFlLo/s400/Untitled.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
TLDR? Check out the Instagram Story <a href="https://instagram.com/p/8vkqDnEa8o/?taken-by=nevatiaritika" target="_blank">here</a>.</div>
<br /></div>
nevatiaritikahttp://www.blogger.com/profile/16655501873541408940noreply@blogger.com0Osaka, Osaka Prefecture, Japan34.6937378 135.5021650999999634.4848083 135.17944159999996 34.902667300000005 135.82488859999995tag:blogger.com,1999:blog-202791059041586496.post-30000363981785150962015-10-15T04:57:00.002-07:002015-10-15T04:57:49.006-07:00It comes at a cost<div dir="ltr" style="text-align: left;" trbidi="on">
<div>
They wake up cursing their mother's voice</div>
<div>
He snoozes his alarm till he no longer has the time to bathe</div>
<div>
<br /></div>
<div>
They get served hot piping breakfast and milk</div>
<div>
He gulps the piece of stale bread down his throat</div>
<div>
<br /></div>
<div>
They meet with their friends to travel together</div>
<div>
He waits for the timezone to allow him to call his</div>
<div>
<br /></div>
<div>
They gossip about their office politics</div>
<div>
Here he is, trying to appear less foreign</div>
<div>
<br /></div>
<div>
As they open their lunchbox, the aroma lingers</div>
<div>
He counts his money to decide if he wants to eat</div>
<div>
<br /></div>
<div>
They surprise their girlfriends with river boat cruises</div>
<div>
He stands by the coast wishing for his girl to hold his hand</div>
<div>
<br /></div>
<div>
They have dinner together, staring into each other's eyes</div>
<div>
He sends her a picture of the food he cooked himself</div>
<div>
<br /></div>
<div>
They give goodnight kisses pressing their lips against each other</div>
<div>
He tells her he misses her over the messenger</div>
<div>
<br /></div>
And then they said to him<div>
You live a life many dream of</div>
<div>
<br /></div>
<div>
<img src="http://thankyouacademy.com/wp-content/uploads/2015/05/lo.jpg" /></div>
</div>
nevatiaritikahttp://www.blogger.com/profile/16655501873541408940noreply@blogger.com4tag:blogger.com,1999:blog-202791059041586496.post-53329727902885698872015-05-24T10:02:00.000-07:002015-05-24T10:02:26.438-07:00The joy in kvetching!<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="tr_bq">
<span style="font-family: Trebuchet MS, sans-serif;">There's a poetry from where the thoughts below arise from. This was written by Michelangelo, one of the greatest painters in the history of mankind and also a wonderful poet. He says this to Giovanni da Pistoia while he was painting the renowned Chapel of Sistine, the official residence of the Pope in the Vatican City.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-opIyM0781KE/VWID7WqSCuI/AAAAAAAAQZg/tfhsdY577nM/s1600/Sistine_chapel.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="http://1.bp.blogspot.com/-opIyM0781KE/VWID7WqSCuI/AAAAAAAAQZg/tfhsdY577nM/s200/Sistine_chapel.jpg" width="135" /></a></div>
<br />
<div style="text-align: center;">
<span style="font-size: x-small;"><span style="font-family: Trebuchet MS, sans-serif;">I've already grown a goiter from this torture,</span></span><br />
<span style="font-size: x-small;"><span style="font-family: Trebuchet MS, sans-serif;">hunched up here like a cat in Lombardy</span></span><br />
<span style="font-size: x-small;"><span style="font-family: Trebuchet MS, sans-serif;">(or anywhere else where the stagnant water's poison).</span></span><br />
<span style="font-size: x-small;"><span style="font-family: Trebuchet MS, sans-serif;">My stomach's squashed under my chin,</span></span><br />
<span style="font-size: x-small;"><span style="font-family: Trebuchet MS, sans-serif;">my beard's pointing at heaven,</span></span><br />
<span style="font-size: x-small;"><span style="font-family: Trebuchet MS, sans-serif;">my brain's crushed in a casket,</span></span><br />
<span style="font-size: x-small;"><span style="font-family: Trebuchet MS, sans-serif;">my breast twists like a harpy's.</span></span><br />
<span style="font-size: x-small;"><span style="font-family: Trebuchet MS, sans-serif;">My brush,above me all the time,</span></span><br />
<span style="font-size: x-small;"><span style="font-family: Trebuchet MS, sans-serif;"> </span><span style="font-family: Trebuchet MS, sans-serif;">dribbles paint so my face makes a fine floor for droppings!</span></span><br />
<span style="font-size: x-small;"><span style="font-family: Trebuchet MS, sans-serif;">My haunches are grinding into my guts,</span></span><br />
<span style="font-size: x-small;"><span style="font-family: Trebuchet MS, sans-serif;">my poor ass strains to work as a counterweight,</span></span><br />
<span style="font-size: x-small;"><span style="font-family: Trebuchet MS, sans-serif;">every gesture I make is blind and aimless.</span></span><br />
<span style="font-size: x-small;"><span style="font-family: Trebuchet MS, sans-serif;">My skin hangs loose below me,</span></span><br />
<span style="font-size: x-small;"><span style="font-family: Trebuchet MS, sans-serif;"> </span><span style="font-family: Trebuchet MS, sans-serif;">my spine's all knotted from folding over itself.</span></span><br />
<span style="font-size: x-small;"><span style="font-family: Trebuchet MS, sans-serif;">I'm bent taut as a Syrian bow.</span></span><br />
<span style="font-size: x-small;"><span style="font-family: Trebuchet MS, sans-serif;">Because I'm stuck like this,</span></span><br />
<span style="font-size: x-small;"><span style="font-family: Trebuchet MS, sans-serif;">my thoughts are crazy, </span></span><span style="font-family: 'Trebuchet MS', sans-serif; font-size: x-small;">perfidious tripe:</span><br />
<span style="font-family: Trebuchet MS, sans-serif; font-size: x-small;">anyone shoots badly through a crooked blowpipe</span><span style="font-family: Trebuchet MS, sans-serif; font-size: x-small;">.</span><br />
<span style="font-family: Trebuchet MS, sans-serif; font-size: x-small;">My painting is dead.</span><span style="font-family: Trebuchet MS, sans-serif; font-size: x-small;">Defend it for me, Giovanni,</span><br />
<span style="font-family: Trebuchet MS, sans-serif; font-size: x-small;"> protect my honor.</span><br />
<span style="font-family: Trebuchet MS, sans-serif; font-size: x-small;">I am not in the right place—I am not a painter.</span></div>
<span style="font-family: Trebuchet MS, sans-serif;"></span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<span style="font-family: Trebuchet MS, sans-serif;"> What? Did he just call himself - "I am not a painter?" Was this a form of forced humility. It could surely be a desperate attempt from Michelangelo to keep the modesty in himself alive.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;">But I doubt that. He is just doing what we humans love to do - complain. Now most of what Michelangelo describes is physical pain he has while painting a ceiling, maybe a very natural trait to complain physical pain. After all, who likes to withstand body aches?</span><span style="font-family: 'Trebuchet MS', sans-serif;"> But then why the "I am not a painter" in the end? The very fact he says it, means something deeper than what it appears to be.</span><br />
<br />
<span style="font-family: 'Trebuchet MS', sans-serif;">Your best friend calls you to tell you how big a mess he is in. How his life is fucked up, and how low times are. And what do you feel like saying? "So you think you've had a bad day, huh? Listen to this.."</span><br />
<span style="font-family: 'Trebuchet MS', sans-serif;">and you go on telling how a bigger mess you are currently in.</span><br />
<span style="font-family: 'Trebuchet MS', sans-serif;"><br /></span>
<span style="font-family: 'Trebuchet MS', sans-serif;">Who said you're probably not enjoying what you are doing? Who says you are complaining out of dissatisfaction or boredom?</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">Kvetching, has always been seen as the sign of the weak. Mum used to say, "Now don't complain about it." But as I have come to realize, we all need our share of complaining. Perhaps our finest friends are very used to us complaining, they share that joy of kvetching with us too! The trade continues, each of us bothering the other with our so-called sorrows even when we are at the peak. And I guess no one else perhaps will understand this feeling as much as them, for others it'll be just show off.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;">Imagine for instance, Sachin Tendulkar stands up and says 'I am such a bad cricketer'. What will you say? Mock him maybe. But if he does really have a bad day at practice, doesn't he need an outlet - to complain?</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">The point being, there is a certain joy in kvetching, a satisfaction of some sort when we complain. It may not be to let down things happening around us, or to be a medium of pure </span><span style="font-family: Trebuchet MS, sans-serif;">gloat, it really is sympathy. Sympathizing with ourselves, to feel sorry about the state we are in, try provide a rationale to it and move on (maybe?).</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">I like to believe in the joy of kvetching.</span></div>
nevatiaritikahttp://www.blogger.com/profile/16655501873541408940noreply@blogger.com0tag:blogger.com,1999:blog-202791059041586496.post-6382055827271829582015-03-06T13:12:00.000-08:002015-03-06T13:26:59.675-08:00Am I next?<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
Its not today for the first time that this feeling crept in. And for all I know its definitely not the last that I imagined myself getting raped, against my will, forcefully and cruelly.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
It has always been in my memory that news snippets describing brutal have appeared on every news channel. Only initially was it surprising that rape news made it to the top news of the day almost daily. Then it became routine. Somewhere the security and comfort around me asked my sane mind to ignore them, like just not heed any news item describing a woman harassment case. Yet in those days, I have distinct memories of asking papa to change the channel for the disturbances it caused in my head.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
And then slowly, without any conscious knowledge, I started getting nightmares. Nightmares where I pictured all these said descriptions graphically in my sleep getting abused sexually. Suddenly, sex for a teenage girl wasn't a fantasy anymore. Men who gave me vicious stares on my way home would be the antagonists of my little movie. Where of course, their harmless looks took the form of a wicked reality. Before I could even forget the course of events happening in my dreams, I would be fed with newspaper articles the following day. These thoughts were becoming like haunted ghosts, except that I was a living proof of the form in which ghosts existed.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Suddenly feeling safe became a priority. Suddenly the feeling of having people around always started mattering. Suddenly I felt like I needed more hugs more often or hear the words, "I will be there for you". Suddenly I was dreaming less about my backpacking trips alone but rather with a group of travel enthusiasts. For a long time I told myself that travel is more enjoyable when with friends. I remember traveling in the rickshaw with a friend, and then hugging on tightly just because I saw a Crime Patrol poster on a bus advertising rape statistics. I don't think I felt so insecure mentally ever.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
The nightmares were an on-and-off business. Little incidents like a man pinching my butt on the station bridge or a man trying to grope me triggered them occasionally. I would weep in silence as those thoughts troubled me. I think I should have spoken about them to someone right at its inception. I tried finding solace as I wrote short poems like <a href="http://beingritika.blogspot.in/2013/12/worries-of-woman.html" target="_blank">Worries of a Woman.</a> </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Now that I think 50 shades of Grey is not at all an arousing book or porn is just not exciting as it should be. It is all scary. Anurag Kashyap's movies, documentaries on women harassment and news snippets buzzed around. I can associate only pain with anything remotely sexual. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
The Nirbhaya documentary sure points out the cheap mentality of men out there. It sure voices the opinion of liberal women and men fighting for justice. Kirron Kher's argument in the court is definitely worth clapping for. But, do they make me feel safe? No. Sure I felt like slapping those lawyers hard on their faces as they compared women to flowers and gems. I felt angered as the convict spoke so calmly without regret or shame in his eye. But that rage melted away in seconds of its genesis, giving birth to fear and crippling me with endless questions about my existence. If a man's company couldn't save Jyoti, how can I expect it to save me in my situation? What is safety? What am I really seeking here? Even I don't know.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
While on one hand I want to change the world at a top-notch tech firm with latest advancements in technology, the thought of "Am I really contributing?" arises. While I have several opportunities to travel and sing and enjoy merrily, my safety is my concern. It is a shame that an educated, well-protect happy girl like me has to go through this. It is annoying that men who were sentenced to death are still breathing. It is also fearful that while I took 20 minutes penning my thoughts down, somewhere another girl realized the nightmare for real.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
This post will be archived somewhere, unknown, will float around for a while and just like how this news will die down, no one will ever know how scary this night has been for me. No one will really wonder how many other women thought, "Am I next?"</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-COrjTaR6WgY/VPoYAiXTnWI/AAAAAAAAQSU/QxGUN7JoHFM/s1600/rape3_090414065317_090414080644.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-COrjTaR6WgY/VPoYAiXTnWI/AAAAAAAAQSU/QxGUN7JoHFM/s1600/rape3_090414065317_090414080644.jpg" height="205" width="320" /></a></div>
<div style="text-align: justify;">
<br /></div>
</div>
nevatiaritikahttp://www.blogger.com/profile/16655501873541408940noreply@blogger.com2