Guest User

Untitled

a guest
Jul 16th, 2018
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.14 KB | None | 0 0
  1. #!/usr/bin/env bash
  2.  
  3. HADOOP_HOME=${HADOOP_HOME:?HADOOP_HOME is not set}
  4.  
  5. script_path=`dirname $0`
  6.  
  7. # Clean up output from prior runs
  8. for dir in "/tmp/input" "/tmp/output" "/tmp/final_output"; do
  9. if [[ -d $dir ]] ; then
  10. rm -fr $dir
  11. fi
  12. done
  13.  
  14. mkdir /tmp/input
  15.  
  16. user=$1
  17. host=$2
  18. database=$3
  19. pass=$4
  20.  
  21. mysql -u $user --password=$pass --host=$host --batch -e \
  22. "SELECT path_id, product_id FROM recent_items" \
  23. $database > /tmp/input/recent_items.tsv
  24.  
  25. jarfile="$HADOOP_HOME/mapred/contrib/streaming/hadoop-0.21.0-streaming.jar"
  26.  
  27. "$HADOOP_HOME/bin/hadoop" jar \
  28. $jarfile \
  29. -input /tmp/input \
  30. -output /tmp/output \
  31. -mapper cat \
  32. -reducer $script_path/reduce.rb
  33.  
  34. cat /tmp/output/part* > /tmp/output/related.tsv
  35.  
  36. "$HADOOP_HOME/bin/hadoop" jar \
  37. $jarfile \
  38. -input /tmp/output/related.tsv \
  39. -output /tmp/final_output \
  40. -mapper cat \
  41. -reducer $script_path/reduce2.rb
  42.  
  43. cat /tmp/final_output/part* > /tmp/final_output/viewed_products.tsv
  44.  
  45. mysqlimport --local --compress -u $user --host=$host \
  46. --columns=source_product_id,target_product_id,count \
  47. --replace $database \
  48. /tmp/final_output/viewed_products.tsv
Add Comment
Please, Sign In to add comment