Przeglądaj źródła

HUE-9086 [docs] Adding gethue website source

Romain 6 lat temu
rodzic
commit
de9291d89e
100 zmienionych plików z 10998 dodań i 0 usunięć
  1. 1 0
      docs/gethue/.gitignore
  2. 6 0
      docs/gethue/archetypes/default.md
  3. 9 0
      docs/gethue/config.toml
  4. 51 0
      docs/gethue/content/posts/2010-08-20-hue-1-0-1-aug-20th-2010.md
  5. 51 0
      docs/gethue/content/posts/2010-10-11-hue-1-1-0-oct-11th-2010.md
  6. 52 0
      docs/gethue/content/posts/2011-02-21-hue-1-2-0-feb-21st-2011.md
  7. 51 0
      docs/gethue/content/posts/2012-06-04-hue-2-0-1-jun-4th-2012.md
  8. 101 0
      docs/gethue/content/posts/2012-06-04-hue-2-0.md
  9. 107 0
      docs/gethue/content/posts/2012-10-01-whats-new-in-hue-2-1.md
  10. 53 0
      docs/gethue/content/posts/2012-10-02-hue-2-1-0-oct-2nd-2012.md
  11. 131 0
      docs/gethue/content/posts/2012-12-15-how-to-manage-permissions-in-hue.md
  12. 99 0
      docs/gethue/content/posts/2013-01-15-the-dynamic-workflow-builder-in-hue.md
  13. 173 0
      docs/gethue/content/posts/2013-01-20-how-to-import-a-pre-existing-oozie-workflow-into-hue.md
  14. 205 0
      docs/gethue/content/posts/2013-02-01-how-to-analyze-twitter-data-with-hue.md
  15. 56 0
      docs/gethue/content/posts/2013-02-15-a-closer-look-at-hue-how-to-interface-with-hadoop.md
  16. 207 0
      docs/gethue/content/posts/2013-02-15-whats-new-in-hue-2-2.md
  17. 62 0
      docs/gethue/content/posts/2013-02-25-hue-2-2-0-feb-25th-2013.md
  18. 77 0
      docs/gethue/content/posts/2013-03-01-demo-hdfs-file-operations-made-easy-with-hue.md
  19. 189 0
      docs/gethue/content/posts/2013-03-11-tutorial-analyzing-data-with-hue-and-hive.md
  20. 56 0
      docs/gethue/content/posts/2013-03-27-kick-off-of-how-to-improve-the-hadoop-user-experience.md
  21. 60 0
      docs/gethue/content/posts/2013-04-15-hue-2-3-0-apr-15th-2013.md
  22. 71 0
      docs/gethue/content/posts/2013-04-16-whats-new-in-hue-2-3.md
  23. 190 0
      docs/gethue/content/posts/2013-05-07-tutorial-executing-hive-or-impala-queries-with-python.md
  24. 147 0
      docs/gethue/content/posts/2013-05-13-single-sign-on-in-hue-with-twitter-and-oauth.md
  25. 92 0
      docs/gethue/content/posts/2013-05-22-tutorial-a-new-ui-for-oozie.md
  26. 99 0
      docs/gethue/content/posts/2013-05-28-tutorial-apache-pig-editor-in-hue-2-3.md
  27. 77 0
      docs/gethue/content/posts/2013-06-11-hue-2-4-is-released.md
  28. 134 0
      docs/gethue/content/posts/2013-06-12-tutorial-search-hadoop-in-hue.md
  29. 94 0
      docs/gethue/content/posts/2013-07-16-hue-2-5-and-its-hbase-app-is-out.md
  30. 150 0
      docs/gethue/content/posts/2013-07-29-hadoop-tutorial-how-to-access-hive-in-pig-with.md
  31. 158 0
      docs/gethue/content/posts/2013-08-09-hadoop-tutorial-high-availability-of-hue.md
  32. 156 0
      docs/gethue/content/posts/2013-08-13-hadoop-tutorial-how-to-create-example-tables-in-hbase.md
  33. 127 0
      docs/gethue/content/posts/2013-08-19-hadoop-tutorial-hive-udf-in-1-minute.md
  34. 103 0
      docs/gethue/content/posts/2013-08-22-nosql-2013-hue-starting-point-for-exploration-and.md
  35. 76 0
      docs/gethue/content/posts/2013-08-22-y-hug-august-2013-hue-the-hadoop-ui.md
  36. 196 0
      docs/gethue/content/posts/2013-08-23-the-web-ui-for-hbase-hbase-browser.md
  37. 141 0
      docs/gethue/content/posts/2013-09-05-hadoop-tutorials-ii-1-prepare-the-data-for-analysis.md
  38. 217 0
      docs/gethue/content/posts/2013-09-11-hadoop-tutorials-ii-2-execute-hive-queries-and.md
  39. 89 0
      docs/gethue/content/posts/2013-09-18-hadoop-tutorials-ii-3-schedule-hive-queries-with.md
  40. 88 0
      docs/gethue/content/posts/2013-09-23-hue-3-and-the-new-sqoop-and-zookeeper-apps-are-out.md
  41. 185 0
      docs/gethue/content/posts/2013-09-25-sso-with-hue-new-saml-backend.md
  42. 116 0
      docs/gethue/content/posts/2013-09-27-fast-sql-with-the-impala-query-editor.md
  43. 116 0
      docs/gethue/content/posts/2013-10-01-group-synchronization-backends-in-hue.md
  44. 146 0
      docs/gethue/content/posts/2013-10-04-move-data-in-out-your-hadoop-cluster-with-the-sqoop.md
  45. 139 0
      docs/gethue/content/posts/2013-10-10-password-management-in-hue.md
  46. 111 0
      docs/gethue/content/posts/2013-10-14-hadoop-tutorial-bundle-oozie-coordinators-with-hue.md
  47. 55 0
      docs/gethue/content/posts/2013-10-20-stockholm-hug-hue-the-hadoop-ui.md
  48. 147 0
      docs/gethue/content/posts/2013-10-21-hadoop-tutorial-use-pig-and-hive-with-hbase.md
  49. 198 0
      docs/gethue/content/posts/2013-10-23-tutorial-better-file-formats-for-impala-and-quick-sql.md
  50. 182 0
      docs/gethue/content/posts/2013-10-24-hadoop-tutorial-hive-query-editor-with-hiveserver2-and.md
  51. 47 0
      docs/gethue/content/posts/2013-10-29-apache-hive-editor-and-hive-metastore-browser.md
  52. 175 0
      docs/gethue/content/posts/2013-11-04-hadoop-tutorials-season-ii-7-how-to-index-and-search.md
  53. 116 0
      docs/gethue/content/posts/2013-11-08-hadoop-tutorials-series-ii-8-how-to-transfer-data.md
  54. 70 0
      docs/gethue/content/posts/2013-11-08-integrate-external-web-applications-in-any-language.md
  55. 53 0
      docs/gethue/content/posts/2013-11-08-new-search-feature-graphical-facets.md
  56. 136 0
      docs/gethue/content/posts/2013-11-11-dbquery-app-mysql-postgresql-oracle-and-sqlite-query.md
  57. 122 0
      docs/gethue/content/posts/2013-11-11-hue-team-retreat-thailand.md
  58. 119 0
      docs/gethue/content/posts/2013-11-19-new-zookeeper-browser-app.md
  59. 79 0
      docs/gethue/content/posts/2013-11-27-hadoop-tutorial-create-hive-tables-with-headers-and.md
  60. 70 0
      docs/gethue/content/posts/2013-12-02-hadoop-tutorial-submit-any-oozie-jobs-directly-from.md
  61. 63 0
      docs/gethue/content/posts/2013-12-05-hadoop-tutorial-language-assistant-in-pig-editor-with.md
  62. 93 0
      docs/gethue/content/posts/2013-12-05-hue-3-5-and-its-redesign-are-out.md
  63. 144 0
      docs/gethue/content/posts/2013-12-07-new-in-cdh-5-5-simplified-administration-and-user-experience-and-more-in-hue.md
  64. 54 0
      docs/gethue/content/posts/2013-12-12-hue-goes-to-paris-hug-france.md
  65. 146 0
      docs/gethue/content/posts/2013-12-12-recent-security-enhancements.md
  66. 57 0
      docs/gethue/content/posts/2013-12-13-hue-goes-to-los-angeles-hbase-meetup.md
  67. 114 0
      docs/gethue/content/posts/2013-12-16-use-the-impala-app-with-sentry-for-real-security.md
  68. 118 0
      docs/gethue/content/posts/2013-12-30-jobtracker-high-availability-ha-in-mr1.md
  69. 90 0
      docs/gethue/content/posts/2014-01-02-a-better-pygresql-support-for-django.md
  70. 128 0
      docs/gethue/content/posts/2014-01-02-a-new-spark-web-ui-spark-app.md
  71. 117 0
      docs/gethue/content/posts/2014-01-13-using-hadoop-mr2-and-yarn-with-an-alternative-job.md
  72. 315 0
      docs/gethue/content/posts/2014-02-03-how-to-manage-the-hue-database-with-the-shell.md
  73. 405 0
      docs/gethue/content/posts/2014-02-03-making-hadoop-accessible-to-your-employees-with-ldap.md
  74. 68 0
      docs/gethue/content/posts/2014-02-03-solving-the-hue-2-x-hanging-problem.md
  75. 56 0
      docs/gethue/content/posts/2014-02-06-sf-hue-meetup-hue-3-5-and-where-we-stand.md
  76. 90 0
      docs/gethue/content/posts/2014-02-19-how-to-use-the-new-file-types-icons-with-the-hue-sdk-or.md
  77. 47 0
      docs/gethue/content/posts/2014-02-21-san-francisco-developer-get-started-with-the-hue-sdk.md
  78. 54 0
      docs/gethue/content/posts/2014-02-26-secure-your-yarn-cluster-and-access-the-jobs.md
  79. 69 0
      docs/gethue/content/posts/2014-03-04-hadoop-tutorial-schedule-your-hadoop-jobs-intuitively.md
  80. 93 0
      docs/gethue/content/posts/2014-03-06-how-hue-integrates-hadoop-with-django.md
  81. 44 0
      docs/gethue/content/posts/2014-03-10-join-the-hue-team.md
  82. 82 0
      docs/gethue/content/posts/2014-03-14-how-to-fix-the-multipleobjectsreturned-error-in-hue.md
  83. 119 0
      docs/gethue/content/posts/2014-03-23-tutorial-live-demo-of-search-on-hadoop.md
  84. 119 0
      docs/gethue/content/posts/2014-03-26-hadoop-tutoriel-comment-acceder-a-hive-depuis-pig-avec-hcatalog-et-hue.md
  85. 154 0
      docs/gethue/content/posts/2014-03-26-hadoop-tutoriel-comment-creer-des-tables-dexemple-dans-hbase.md
  86. 91 0
      docs/gethue/content/posts/2014-03-26-hue-2-5-et-son-hbase-application-est-sorti.md
  87. 89 0
      docs/gethue/content/posts/2014-03-26-hue-3-5-et-sa-refonte-sont-arrives.md
  88. 100 0
      docs/gethue/content/posts/2014-03-26-lediteur-de-requete-impala.md
  89. 152 0
      docs/gethue/content/posts/2014-03-26-linterface-utilisateur-web-pour-hbase-hbase-browser.md
  90. 103 0
      docs/gethue/content/posts/2014-03-26-nouvelle-application-zookeeper-browser.md
  91. 50 0
      docs/gethue/content/posts/2014-04-01-hadoop-tutorial-hadoop-voice-recognition.md
  92. 188 0
      docs/gethue/content/posts/2014-04-02-hadoop-tutorial-oozie-workflow-credentials-with-a-hive-action-with-kerberos.md
  93. 163 0
      docs/gethue/content/posts/2014-04-03-hadoop-tutorial-monitor-and-get-alerts-for-your-workflows-with-the-oozie-slas.md
  94. 66 0
      docs/gethue/content/posts/2014-04-04-hadoop-tutorial-new-impala-and-hive-editors.md
  95. 55 0
      docs/gethue/content/posts/2014-04-04-how-to-fix-map.md
  96. 80 0
      docs/gethue/content/posts/2014-04-07-hadoop-tutorial-live-demo-hadoop-directly-from-your-browser.md
  97. 52 0
      docs/gethue/content/posts/2014-04-10-singapore-hadoop-meetup.md
  98. 289 0
      docs/gethue/content/posts/2014-04-17-hadoop-tutorial-how-to-create-a-real-hadoop-cluster-in-10-minutes.md
  99. 48 0
      docs/gethue/content/posts/2014-04-17-yahoo-hadoop-meetup-integrate-hue-with-your-hadoop-cluster.md
  100. 49 0
      docs/gethue/content/posts/2014-04-23-israel-hadoop-meetup-hbase-browser.md

+ 1 - 0
docs/gethue/.gitignore

@@ -0,0 +1 @@
+public/

+ 6 - 0
docs/gethue/archetypes/default.md

@@ -0,0 +1,6 @@
+---
+title: "{{ replace .Name "-" " " | title }}"
+date: {{ .Date }}
+draft: true
+---
+

+ 9 - 0
docs/gethue/config.toml

@@ -0,0 +1,9 @@
+baseURL = "https://gethue.com/"
+languageCode = "en-us"
+title = "Hue - The open source SQL Assistant for Data Warehouses"
+theme = "stack-hue-theme"
+pygmentsStyle = "monokailight"
+disqusShortname = "gethue"
+
+[params]
+docsHost = "https://docs.gethue.com"

+ 51 - 0
docs/gethue/content/posts/2010-08-20-hue-1-0-1-aug-20th-2010.md

@@ -0,0 +1,51 @@
+---
+title: Hue 1.0.1 – Aug 20th, 2010
+author: admin
+type: post
+date: 2010-08-20T04:00:00+00:00
+url: /hue-1-0-1-aug-20th-2010/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/49863290780/hue-1-0-1-aug-20th-2010
+tumblr_gethue_id:
+  - 49863290780
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Release
+
+---
+<span>Hue 1.0.1 works with a traditional Hadoop cluster that does not have security features.</span>
+
+  * [Documentation][1]
+  * [Download tarball][2]{.trackLink}
+
+ [1]: http://cloudera.github.io/hue/docs-1.0.1/index.html
+ [2]: https://cdn.gethue.com/downloads/releases/1.0.1/hue-1.0.1.tgz

+ 51 - 0
docs/gethue/content/posts/2010-10-11-hue-1-1-0-oct-11th-2010.md

@@ -0,0 +1,51 @@
+---
+title: Hue 1.1.0 – Oct 11th, 2010
+author: admin
+type: post
+date: 2010-10-11T04:00:00+00:00
+url: /hue-1-1-0-oct-11th-2010/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/49863337967/hue-1-1-0-oct-11th-2010
+tumblr_gethue_id:
+  - 49863337967
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Release
+
+---
+<span>Hue 1.1.0 supports Kerberos integration with using a secured Hadoop cluster.</span>
+
+  * [Documentation][1]
+  * [Download tarball][2]{.trackLink}
+
+ [1]: http://cloudera.github.io/hue/docs-1.1.0/index.html
+ [2]: https://cdn.gethue.com/downloads/releases/1.1.0/hue-1.1.0.tgz

+ 52 - 0
docs/gethue/content/posts/2011-02-21-hue-1-2-0-feb-21st-2011.md

@@ -0,0 +1,52 @@
+---
+title: Hue 1.2.0 – Feb 21st, 2011
+author: admin
+type: post
+date: 2011-02-21T05:00:00+00:00
+url: /hue-1-2-0-feb-21st-2011/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/49863363146/hue-1-2-0-feb-21st-2011
+tumblr_gethue_id:
+  - 49863363146
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Release
+
+---
+<span>Hue 1.2.0 is a minor release, largely focused on bug fixes and compatibility with</span><span> </span>[CDH3][1]<span>.</span>
+
+  * [Documentation][2]
+  * [Download tarball][3]{.trackLink}
+
+ [1]: https://ccp.cloudera.com/display/CDHDOC/CDH3+Quick+Start+Guide
+ [2]: http://cloudera.github.io/hue/docs-1.2.0/index.html
+ [3]: https://cdn.gethue.com/downloads/releases/1.2.0/hue-1.2.0.tgz

+ 51 - 0
docs/gethue/content/posts/2012-06-04-hue-2-0-1-jun-4th-2012.md

@@ -0,0 +1,51 @@
+---
+title: Hue 2.0.1 – Jun 4th, 2012
+author: admin
+type: post
+date: 2012-06-04T04:00:00+00:00
+url: /hue-2-0-1-jun-4th-2012/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/49863417567/hue-2-0-1-jun-4th-2012
+tumblr_gethue_id:
+  - 49863417567
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Release
+
+---
+<span>Hue 2.0.1 is a major upgrade with many fixes and key new features. The frontend has been re-implemented, LDAP (OpenLDAP and Active Directory) and per-application authorization are supported, a Shell application was added.</span>
+
+  * [Documentation][1]
+  * [Download tarball][2]{.trackLink}
+
+ [1]: http://cloudera.github.io/hue/docs-2.0.1/index.html
+ [2]: https://cdn.gethue.com/downloads/releases/2.0.1/hue-2.0.1.tgz

+ 101 - 0
docs/gethue/content/posts/2012-06-04-hue-2-0.md

@@ -0,0 +1,101 @@
+---
+title: Hue 2.0
+author: admin
+type: post
+date: 2012-06-04T04:00:00+00:00
+url: /hue-2-0/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/49800717271/hue-2-0
+tumblr_gethue_id:
+  - 49800717271
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Browsing
+  - Querying
+  - Scheduling
+
+---
+[Hue 2.0.1][1] has just been [released][2]{.trackLink}. 2.0.1 represents major improvement on top of the Hue 1.x series. To list a few key new features:
+
+  * Frontend has been re-implemented as full screen pages.
+  * Hue supports LDAP (OpenLDAP and Active Directory). Hue can be configured to authenticate against LDAP. Additionally, Hue can import users and groups from LDAP, and refresh group membership from LDAP.
+  * Hue supports per-application authorization. Administrators can grant or limit group access to applications.
+  * Hue has a new Shell application, which allows access to the HBase shell, Pig shell, and more.
+  * The Job Designer now submits jobs through Oozie, which is more secured.
+
+<div>
+  Please see the <a href="https://github.com/downloads/cloudera/hue/release-notes-2.0.1.html">release notes</a> for a complete reference.
+</div>
+
+<div>
+</div>
+
+<div>
+  <span><strong>A New Frontend</strong></span>
+</div>
+
+In particular, I am really excited about the new frontend. The Hue 1.x frontend renders application UIs via Javascript in [desktop-like windows][3], which coexist in a single browser window. This desktop-like frontend turns out to be hard to maintain, as well as inconvenient and inflexible for third party application developers. In Hue 2.0, each application gets its own browser window or tab:
+
+[<img class="alignnone size-full wp-image-15364" alt="Applications in multiple tabs" src="http://www.cloudera.com/wp-content/uploads/2012/06/multi21.png" width="844" height="575" />][4]
+
+For end users, this means that every page view has its own URL and can be bookmarked. Users also have better control of the windowing behaviours (maximize, minimize, alt-tab) and browsing history. And for enterprise users, Hue 2.0 works on Internet Explorer, which is plagued by memory reclamation issues with Hue 1.x.
+
+For third party application developers, this greatly reduces the complexity of writing an application frontend. Developers also have full control of the rendered HTML, and can therefore employ their favourite Javascript and CSS libraries ([jQuery][5], [Bootstrap][6], [knockout.js][7], [Highcharts][8], etc.). Hue 2.0 itself uses jQuery and Bootstrap extensively, which has sped up our own frontend development cycles.
+
+**<span>Compatibility</span>**
+
+Applications written for Hue 1.x are not compatible with Hue 2.0. Fortunately, the transition is straightforward and is documented in the [SDK guide][9]. For example, Hue 1.x provides an “HtmlTable” widget that supports banding, column sorting and more. In Hue 2.0, the same functionality is provided by the [DataTables][10].
+
+Hue 2.0.1 is compatible with (and included in) CDH4.
+
+  * It works with [HA NameNode][11], since it communicates with HDFS via the [HttpFS REST API][12].
+  * It can submit jobs to YARN, since job submission is executed via Oozie. But it cannot browse any YARN jobs.
+  * It supports Hive 0.8.1.
+
+**<span>Acknowledgement</span>**
+
+This release is possible thanks to the contributions from [the team][13]. Your feedback is greatly appreciated. Drop us a note in our [user list][14].
+
+ [1]: http://cloudera.github.com/hue/docs-2.0.1/index.html
+ [2]: https://cdn.gethue.com/downloads/releases/2.0.1/hue-2.0.1.tgz
+ [3]: http://blog.cloudera.com/blog/2010/07/whats-new-in-cdh3b2-hue/ "What’s New in CDH3b2: HUE"
+ [4]: http://www.cloudera.com/wp-content/uploads/2012/06/multi21.png
+ [5]: http://jquery.com/
+ [6]: http://twitter.github.com/bootstrap/
+ [7]: http://knockoutjs.com/
+ [8]: http://www.highcharts.com/
+ [9]: http://cloudera.github.com/hue/docs-2.0.1/sdk/sdk.html
+ [10]: http://datatables.net/
+ [11]: http://blog.cloudera.com/blog/2012/03/high-availability-for-the-hadoop-distributed-file-system-hdfs/ "High Availability for the Hadoop Distributed File System (HDFS)"
+ [12]: http://hadoop.apache.org/common/docs/stable/webhdfs.html
+ [13]: http://cloudera.github.com/hue/docs-2.0.1/release-notes/release-notes-2.0.1.html#_contributors
+ [14]: https://groups.google.com/a/cloudera.org/group/cdh-user/topics?hl=en

+ 107 - 0
docs/gethue/content/posts/2012-10-01-whats-new-in-hue-2-1.md

@@ -0,0 +1,107 @@
+---
+title: What’s new in Hue 2.1
+author: admin
+type: post
+date: 2012-10-01T04:00:00+00:00
+url: /whats-new-in-hue-2-1/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/49800494117/whats-new-in-hue-2-1
+tumblr_gethue_id:
+  - 49800494117
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Scheduling
+
+---
+[Hue][1] is a Web-based interface that makes it easier to use [Apache Hadoop][2]. [Hue 2.1][3] (included in [CDH4.1][4]) provides a new application on top of [Apache Oozie][5] (a workflow scheduler system for Apache Hadoop) for creating workflows and scheduling them repetitively. For example, Hue makes it easy to group a set of MapReduce jobs and Hive scripts and run them every day of the week.
+
+In this post, we’re going to focus on the Workflow component of the new application.
+
+## Workflow Editor
+
+Workflows consist of one or multiple actions that can be executed sequentially or in parallel. Each action will run a program that can be configured with parameters (e.g. output=${OUTPUT} instead of hardcoding a directory path) in order to be easily reusable.
+
+The current types of programs are:
+
+  * MapReduce
+  * Pig
+  * Hive
+  * Sqoop
+  * Java
+  * Shell
+  * Ssh
+  * Streaming jobs
+  * DistCp
+
+The application comes with a set of examples:
+
+[<img class="aligncenter size-medium wp-image-19229" title="hue1" alt="" src="http://www.cloudera.com/wp-content/uploads/2012/10/hue13-300x148.png" width="300" height="148" />][6][
+
+][7]
+
+Workflows can be shared with other users and cloned. Forks are supported and enable actions to run at the same time. The Workflow Editor lets you compose your workflow.
+
+Let’s take the Sequential Java (aka TeraSort) example and add an Hive action, HiveGen, that will generate some random data. TeraGen is a MapReduce job doing the same thing and both actions will run in parallel. Finally, the TeraSort action will read both outputs and sort them together You can see how this would look in Hue via the screenshot below.
+
+[<img class="aligncenter size-medium wp-image-19230" title="hue2" alt="" src="http://www.cloudera.com/wp-content/uploads/2012/10/hue22-300x178.png" width="300" height="178" />][8]
+
+## Workflow Dashboard
+
+Our TeraGen workflow can then be submitted and controlled in the Dashboard. Parameters values (e.g. ${OUTPUT} of the output path of the TeraSort action) are prompted when clicking on the submit button.
+
+Jobs can be filtered/killed/restarted and detailed information (progress, logs) is available within the application and in the Job Browser Application.
+
+[<img class="aligncenter size-medium wp-image-19228" title="hue3" alt="" src="http://www.cloudera.com/wp-content/uploads/2012/10/hue32-300x184.png" width="300" height="184" />][9]
+
+Individual management of a workflow can be done on its specific page. We can see the active actions in orange below:
+
+[<img class="aligncenter size-medium wp-image-19231" title="hue4" alt="" src="http://www.cloudera.com/wp-content/uploads/2012/10/hue42-300x211.png" width="300" height="211" />][10]
+
+## Summary
+
+Before CDH4.1, Oozie users had to deal with XML files and command line programs. Now, this new application allows users to build, monitor and control their workflows within a single Web application. Moreover, the Hue File Browser (for listing and uploading workflows) and Job Browser (for accessing fine grained details of the jobs) are leveraged.
+
+The next version of the Oozie application will focus on improving the general experience, increasing the number of supported Oozie workflows and prettifying the Editor.
+
+In the meantime, feel free to report feedback and wishes to [hue-user][11]!
+
+ [1]: http://cloudera.github.com/hue/
+ [2]: http://hadoop.apache.org/
+ [3]: http://cloudera.github.com/hue/index.html#releases-2.1.0
+ [4]: https://ccp.cloudera.com/display/CDH4DOC/CDH4+Installation+Guide
+ [5]: http://incubator.apache.org/oozie/
+ [6]: http://www.cloudera.com/wp-content/uploads/2012/10/hue13.png
+ [7]: http://www.cloudera.com/wp-content/uploads/2012/10/hue1.png
+ [8]: http://www.cloudera.com/wp-content/uploads/2012/10/hue22.png
+ [9]: http://www.cloudera.com/wp-content/uploads/2012/10/hue32.png
+ [10]: http://www.cloudera.com/wp-content/uploads/2012/10/hue42.png
+ [11]: https://groups.google.com/a/cloudera.org/group/hue-user/topics

+ 53 - 0
docs/gethue/content/posts/2012-10-02-hue-2-1-0-oct-2nd-2012.md

@@ -0,0 +1,53 @@
+---
+title: Hue 2.1.0 – Oct 2nd, 2012
+author: admin
+type: post
+date: 2012-10-02T04:00:00+00:00
+url: /hue-2-1-0-oct-2nd-2012/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/49863468010/hue-2-1-0-oct-2nd-2012
+tumblr_gethue_id:
+  - 49863468010
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Querying
+  - Scheduling
+  - Release
+
+---
+<span>Hue now provides an Apache Oozie application for creating workflows of Apache MapReduce, Apache Pig, Apache Hive, Apache Sqoop, Java, Shell, Ssh and Streaming jobs and scheduling them repetitively. Hue is now available in German, Spanish, French, Japanese, Korean, Portuguese, Brazilian and simplified Chinese.</span>
+
+  * [Documentation][1]
+  * [Download tarball][2]{.trackLink}
+
+ [1]: http://cloudera.github.io/hue/docs-2.1.0/index.html
+ [2]: https://cdn.gethue.com/downloads/releases/2.1.0/hue-2.1.0.tgz

+ 131 - 0
docs/gethue/content/posts/2012-12-15-how-to-manage-permissions-in-hue.md

@@ -0,0 +1,131 @@
+---
+title: 'How-to: Manage Permissions in Hue'
+author: admin
+type: post
+date: 2012-12-15T05:00:00+00:00
+url: /how-to-manage-permissions-in-hue/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/48706063756/how-to-manage-permissions-in-hue
+tumblr_gethue_id:
+  - 48706063756
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+categories:
+  - Administration
+
+---
+[Hue][1] is a web interface for [Apache Hadoop][2] that makes common Hadoop tasks such as running [MapReduce][3] jobs, browsing [HDFS][3], and creating [Apache Oozie][4] workflows, easier. (To learn more about the integration of Oozie and Hue, see this [blog post][5].) In this post, we’re going to focus on how one of the fundamental components in Hue, Useradmin, has matured.
+
+## New User and Permission Features
+
+User and permission management in Hue has changed drastically over the past year. Oozie workflows, [Apache Hive][6] queries, and MapReduce jobs can be shared with other users or kept private. Permissions exist at the app level. Access to particular apps can be restricted, as well as certain sections of the apps. For instance, access to the shell app can be restricted, as well as access to the [Apache HBase][7], [Apache Pig][8], and [Apache Flume][9] shells themselves. Access privileges are defined for groups and users can be members of one or more groups.
+
+## Changes to Users, Groups, and Permissions
+
+Hue now supports authentication against PAM, [Spnego][10], and an LDAP server. Users and groups can be imported from LDAP and be treated like their non-external counterparts. The import is manual and is on a per user/group basis. Users can authenticate using different backends such as LDAP. Using the LDAP authentication backend will allow users to login using their LDAP password. This can be configured in /etc/hue/hue.ini by changing the ‘desktop.auth.backend’ setting to ‘desktop.auth.backend.LdapBackend’. The LDAP server to authenticate against can be configured through the settings under ‘desktop.ldap’.
+
+Here’s an example:
+
+A company would like to use the following LDAP users and groups in Hue:
+
+  1. John Smith belonging to team A
+  2. Helen Taylor belonging to team B
+
+Assuming the following access requirements:
+
+  1. Team A should be able to use Beeswax, but nothing else.
+  2. Team B should only be able to see the Oozie dashboard with readonly permissions.
+
+In Hue 1 the scenarios cannot be realistically addressed given the lack of groups.
+
+In Hue 2 the scenarios can be addressed more appropriately. Users can be imported from LDAP by clicking “Add/Sync LDAP user” in Useradmin > Users:
+
+[<img class="aligncenter title=" src="http://www.cloudera.com/wp-content/uploads/2012/12/hue11.png"/>][11]
+
+Similarly, groups can be imported from LDAP by clicking “Add/Sync LDAP group” in Useradmin > Groups.
+
+If a previously imported user’s information was updated recently, the information in Hue will need to be resynchronized. This can be achieved through the LDAP sync feature:
+
+[<img class="aligncenter title=" src="http://www.cloudera.com/wp-content/uploads/2012/12/hue21.png"/>][12]
+
+Part A of the example can be addressed by explicitly allowing access Beeswax for Team A. This is managed in the “Groups” tab of the Useradmin app:
+
+[<img class="aligncenter title=" src="http://www.cloudera.com/wp-content/uploads/2012/12/hue31.png"/>][13]
+
+The Team A group can be edited by clicking on its name, where access privileges for the group are selectable. Here, the “beeswax.access” permission would be selected and the others would be unselected:
+
+[<img title="hue4" src="http://www.cloudera.com/wp-content/uploads/2012/12/hue4.png"/>][14]
+
+Part B of the example can be handled by explicitly defining access for Team B. This can be accomplished by following the same steps in part A, except for Team B. Every permission would be unselected except “oozie.dashboard_jobs_access”:
+
+[<img title="hue5" src="http://www.cloudera.com/wp-content/uploads/2012/12/hue5.png"/>][15]
+
+By explicitly setting the app level permissions, the apps that these users will be able to see will change. For instance, Helen, who is a member of Team B, will only see the Oozie app available:
+
+[<img title="hue6" src="http://www.cloudera.com/wp-content/uploads/2012/12/hue6.png"/>][16]
+
+&nbsp;
+
+## Blacklisting apps in the hue.ini
+
+You can also blacklist the apps at the code level, e.g. in the hue.ini:
+
+{{< highlight bash >}}[desktop]
+  
+app_blacklist=search,security,oozie,jobbrowser,pig,beeswax,search,zookeeper,impala,rdbms,spark,metastore,hbase,sqoop,jobsub
+  
+{{< /highlight >}}
+
+&nbsp;
+
+## Summary
+
+User management has been revamped, groups were added, and various backends are exposed. One such backend, LDAP, facilitates synchronization of users and groups. App-level permissions allow administrators to control who can access certain apps and what documents can be shared.
+
+Hue is maturing quickly and many more features are on their way. Hue will soon have document-level permissions (workflows, queries, and so on), trash functionality, and improvements to the existing editors.
+
+Have any suggestions? Feel free to tell us what you think through [hue-user][17].
+
+ [1]: http://cloudera.github.com/hue/
+ [2]: http://hadoop.apache.com/
+ [3]: http://hadoop.apache.org/
+ [4]: http://oozie.apache.org/
+ [5]: http://blog.cloudera.com/blog/2012/10/whats-new-in-cdh4-1-hue/
+ [6]: http://hive.apache.org/
+ [7]: http://hbase.apache.org/
+ [8]: http://pig.apache.org/
+ [9]: http://flume.apache.org/
+ [10]: http://en.wikipedia.org/wiki/SPNEGO
+ [11]: http://www.cloudera.com/wp-content/uploads/2012/12/hue11.png
+ [12]: http://www.cloudera.com/wp-content/uploads/2012/12/hue21.png
+ [13]: http://www.cloudera.com/wp-content/uploads/2012/12/hue31.png
+ [14]: http://www.cloudera.com/wp-content/uploads/2012/12/hue4.png
+ [15]: http://www.cloudera.com/wp-content/uploads/2012/12/hue5.png
+ [16]: http://www.cloudera.com/wp-content/uploads/2012/12/hue6.png
+ [17]: https://groups.google.com/a/cloudera.org/forum/?fromgroups#!forum/hue-user

+ 99 - 0
docs/gethue/content/posts/2013-01-15-the-dynamic-workflow-builder-in-hue.md

@@ -0,0 +1,99 @@
+---
+title: The Dynamic Workflow Builder in Hue
+author: admin
+type: post
+date: 2013-01-15T05:00:00+00:00
+url: /the-dynamic-workflow-builder-in-hue/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/48706105303/the-dynamic-workflow-builder-in-hue
+tumblr_gethue_id:
+  - 48706105303
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Scheduling
+
+---
+[Hue][1] is a web interface for [Apache Hadoop][2] that makes common Hadoop tasks such as running [MapReduce][3] jobs, browsing [HDFS][3], and creating [Apache Oozie][4] workflows, easier. In this post, we’re going to focus on the dynamic workflow builder that Hue provides for Oozie that will be released in Hue 2.2.0 (For a high-level description of Oozie integration in Hue, see this [blog post][5]).
+
+The dynamic workflow editor is feature packed and emphasizes usability. The heavy lifting is delegated to the client via Javascript to provide a more “dynamic” experience for the user. This is achieved by using the [MVVM][6] (Model View View-Model) design pattern with [KnockoutJS][7] and event handling with [JQuery][8]. In effect, moving, creating, modifying, and deleting actions will be much easier. Also, the workflow editor will support Oozie’s Decision node.
+
+## Basic Operations on Actions
+
+The experience of performing basic operations on actions has been simplified (IE: Creating, updating, and deleting a node).
+
+Nodes can be added seamlessly by clicking on the desired node type and filling out a few parameters. The parameters shown will vary depending on the type of node being added.
+
+<img class="aligncenter" alt="" src="https://lh4.googleusercontent.com/OOyYGn9Wn-rtwqL6mWFbtpbWfkzc-xXEYBSOtmv8WUjIipPriV9swfBPa5WcsZ3I-beGHF9u5qAyAHha0h7CUW_WOXl_9mxWyosHIBl4fXoES9HRpCY" width="574px;" height="305px;" />
+
+The node’s attributes can be modified in the future by clicking on the name of the node. Whenever a node is added or updated, the node will be validated before the popup will be closed. Also, a node can be removed by clicking on the “x” symbol within the node:
+
+## Drag and Drop Actions in the Workflow
+
+The dynamic workflow editor has three main movement functions: action placement, forking, and splitting by decision.
+
+Here’s a quick demo of each of the main movement functions in the new workflow editor:
+
+{{< vimeo 56045585 >}}
+
+### Basic Node Placement
+
+Actions can be placed almost anywhere in the workflow by simply dragging the action to the desired location. This can be in between two other actions, at the top of the workflow, or at the very bottom of the workflow.
+
+### Forking
+
+Fork nodes split the path of execution into multiple paths of execution. These paths of execution run concurrently. Fork nodes can be created by dragging an action onto another action. More paths of execution can be added by dropping an action to the fork node itself. Fork nodes are immobile, but can be removed by moving all actions out of the split paths of execution.
+
+### Decision Node Support
+
+Decision nodes choose a path of execution based on conditions specified in the node itself. To create a decision node, users will need to convert existing Fork nodes by clicking on a Fork node’s name.
+
+The conditions can be added, or modified, by editing the node itself and providing expressions in the form ${ } as shown below.
+
+<img class="aligncenter" alt="" src="https://lh5.googleusercontent.com/NtJwHpR8zeXMAiDNIBoKPpTps9JSp52ZuAbuupYL2MwkvaS7800akIfKO4QPONPklNxDls1zJ7PKyqKjwBDvXNMhZN5d5aHNOSTO9x-BX9-TPulgeYA" width="607px;" height="249px;" />
+
+## Summary
+
+The soon to be released workflow editor is much more usable and flexible. It allows users to drag actions to any location in the workflow, trivially create forks, and perform basic operations on actions. It also introduces the decision node, which can be used to conditionally split the paths of execution.
+
+Hue will be seeing a slew of updates in the near future. The workflow editor itself will support more actions and provide a better experience when managing coordinators.
+
+Have any suggestions? Feel free to tell us what you think through [hue-user][9].
+
+ [1]: http://cloudera.github.com/hue/
+ [2]: http://hadoop.apache.com/
+ [3]: http://hadoop.apache.org/
+ [4]: http://oozie.apache.org/
+ [5]: http://blog.cloudera.com/blog/2012/10/whats-new-in-cdh4-1-hue/
+ [6]: http://en.wikipedia.org/wiki/MVVM
+ [7]: http://knockoutjs.com/
+ [8]: http://jquery.com/
+ [9]: https://groups.google.com/a/cloudera.org/forum/?fromgroups#!forum/hue-user

+ 173 - 0
docs/gethue/content/posts/2013-01-20-how-to-import-a-pre-existing-oozie-workflow-into-hue.md

@@ -0,0 +1,173 @@
+---
+title: 'How-to: Import a Pre-existing Oozie Workflow into Hue'
+author: admin
+type: post
+date: 2013-01-20T05:00:00+00:00
+url: /how-to-import-a-pre-existing-oozie-workflow-into-hue/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/48706145575/how-to-import-a-pre-existing-oozie-workflow-into-hue
+tumblr_gethue_id:
+  - 48706145575
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Scheduling
+
+---
+[Hue][1] is an open-source web interface for Apache Hadoop packaged with CDH that focuses on improving the overall experience for the average user. The [Apache Oozie][2] application in Hue provides an easy-to-use interface to build workflows and coordinators. Basic management of workflows and coordinators is available through the dashboards with operations such as killing, suspending, or resuming a job.
+
+Prior to [Hue 2.2][3] (included in CDH 4.2), there was no way to manage workflows within Hue that were created outside of Hue. As of Hue 2.2, importing a pre-existing Oozie workflow by its XML definition is now possible.
+
+## **How to import a workflow**
+
+Importing a workflow is pretty straightforward. All it requires is the workflow definition file and access to the Oozie application in Hue. Follow these steps to import a workflow:
+
+  1. Go to Oozie Editor/Dashboard > Workflows and click the “Import” button.[<img alt="" src="http://www.cloudera.com/wp-content/uploads/2013/03/oozie-workflow-editor-import.png" width="600" height="186" />][4]
+  2. Provide at minimum a name and workflow definition file.&nbsp;
+    [<img alt="" src="http://www.cloudera.com/wp-content/uploads/2013/03/oozie-import-workflow-upload-definition.png" width="600" height="411" />][5]
+
+    &nbsp;</li>
+
+      * Click “Save”. This will redirect you to the workflow builder with a message in blue near the top stating “Workflow imported”.[<img alt="" src="http://www.cloudera.com/wp-content/uploads/2013/03/builder.png" width="600" height="212" />][6]</ol>
+
+    ## How It Works
+
+    The definition file describes a workflow well enough for Hue to infer its structure. It also provides the majority of the attributes associated with a node, with the exception of some resource references. Resource reference handling is detailed in the following paragraphs.
+
+    A workflow is imported into Hue by uploading the XML definition. Its nodes are transformed into Django serialized objects, and then grok’d by Hue:
+
+    [<img alt="" src="http://www.cloudera.com/wp-content/uploads/2013/03/import-process.png" width="600" height="88" />][7]
+
+    **Workflow transformation pipeline (Without hierarchy resolution)**
+
+    **Workflow Definitions Transformation**
+
+    Workflow definitions have a general form, which make them easy to transform. There are several kinds of nodes, all of which have a unique representation. There are patterns that simplify the task of transforming the definition XML:
+
+    <pre class="code">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;workflow-app xmlns="uri:oozie:workflow:0.4" name="fs-test"&gt;
+  &lt;start to="Fs" /&gt;
+  &lt;action name="Fs"&gt;
+    &lt;fs&gt;
+      &lt;delete path="${nameNode}${output}/testfs" /&gt;
+      &lt;mkdir path="${nameNode}${output}/testfs" /&gt;
+      &lt;mkdir path="${nameNode}${output}/testfs/source" /&gt;
+      &lt;move source="${nameNode}${output}/testfs/source" target="${nameNode}${output}/testfs/renamed" /&gt;
+      &lt;chmod path="${nameNode}${output}/testfs/renamed" permissions="700" dir-files="false" /&gt;
+      &lt;touchz path="${nameNode}${output}/testfs/new_file" /&gt;
+    &lt;/fs&gt;
+    &lt;ok to="end" /&gt;
+    &lt;error to="kill" /&gt;
+  &lt;/action&gt;
+  &lt;kill name="kill"&gt;
+    &lt;message&gt;Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]&lt;/message&gt;
+  &lt;/kill&gt;
+  &lt;end name="end" /&gt;
+&lt;/workflow-app&gt;</pre>
+
+    Nodes are children of the root element `workflow-app`. Every node has a unique representation varying in at least their name. Every action is defined by the element `action` with a unique name. Its immediate children consist of the action type and links. The children of the node type tag are various properties associated with the action. The `start`,`end`, `fork`, `decision`, `join`, and `kill` nodes have their own transformation, where actions are transformed using a general Extensible Stylesheet Language Transformation, or [XSLT][8].
+
+    The different attributes are generally not unique to an action. For instance, the Hive action and Sqoop action both have the `prepare` attribute. Hue provides an XSLT for every action type, but only to import non-unique attributes and to define transformations for unique attributes. In the XSLT below, the sqoop action is defined by importing all of the general fields and defining any Sqoop-specific fields:
+
+    <pre class="code">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.1" xmlns:sqoop="uri:oozie:sqoop-action:0.2" version="1.0" exclude-result-prefixes="workflow sqoop"&gt;
+  &lt;xsl:import href="../nodes/fields/archives.xslt" /&gt;
+  &lt;xsl:import href="../nodes/fields/files.xslt" /&gt;
+  &lt;xsl:import href="../nodes/fields/job_properties.xslt" /&gt;
+  &lt;xsl:import href="../nodes/fields/job_xml.xslt" /&gt;
+  &lt;xsl:import href="../nodes/fields/params.xslt" /&gt;
+  &lt;xsl:import href="../nodes/fields/prepares.xslt" /&gt;
+  &lt;xsl:template match="sqoop:sqoop"&gt;
+    &lt;object model="oozie.sqoop" pk="0"&gt;
+      &lt;xsl:call-template name="archives" /&gt;
+      &lt;xsl:call-template name="files" /&gt;
+      &lt;xsl:call-template name="job_properties" /&gt;
+      &lt;xsl:call-template name="job_xml" /&gt;
+      &lt;xsl:call-template name="params" /&gt;
+      &lt;xsl:call-template name="prepares" /&gt;
+      &lt;field name="script_path" type="CharField"&gt;
+        &lt;xsl:value-of select="*[local-name()='command']" /&gt;
+      &lt;/field&gt;
+    &lt;/object&gt;
+  &lt;/xsl:template&gt;
+  &lt;xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" /&gt;
+&lt;/xsl:stylesheet&gt;</pre>
+
+    The above XSLT imports transformation definitions for the archives, files, job properties, job XML, params, and prepares attributes. If a Sqoop action XML definition were to be transformed by the above XSLT, the resulting XML would take on the following form:
+
+    <pre class="code">&lt;object model="oozie.sqoop" pk="0"&gt;
+  &lt;field name="archives" type="TextField"&gt;...&lt;/field&gt;
+  &lt;field name="files" type="TextField"&gt;...&lt;/field&gt;
+  &lt;field name="job_properties" type="TextField"&gt;...&lt;/field&gt;
+  &lt;field name="job_xml" type="TextField"&gt;...&lt;/field&gt;
+  &lt;field name="params" type="TextField"&gt;...&lt;/field&gt;
+  &lt;field name="prepares" type="TextField"&gt;...&lt;/field&gt;
+  &lt;field name="script_path" type="CharField"&gt;...&lt;/field&gt;
+&lt;/object&gt;</pre>
+
+    **Workflow Structure Resolution**
+
+    The structure of the workflow is created after the nodes are imported. Internally, the workflow hierarchy is represented as a set of “links” between nodes. The workflow definition contains references to next nodes in the graph through the tags `ok`, `error`, and `start`. These references are used to create transitions. The following code snippet illustrates a transition that goes to a node called `end` and an error transition that goes to a node named `kill`:
+
+    <pre class="code">&lt;ok to="end" /&gt;
+&lt;error to="kill" /&gt;</pre>
+
+    Workflow definitions do not have resources, such as a jar file used when running a MapReduce action. Hue intentionally leaves this information out when performing the transformation because it is not in the workflow definition. This forces users to update any resource-specific information within actions.
+
+    [<img alt="" src="http://www.cloudera.com/wp-content/uploads/2013/03/missing-jar-path-highlighted.png" width="600" height="684" />][9]
+
+    **An imported workflow. Note that its resource information is missing.**
+
+    ## Summary and Next Steps
+
+    Hue can manage workflows with its dynamic [workflow builder][10] and now, officially, can import predefined workflows into its system. Another benefit of parsing the XML definition is it enables all workflows to be displayed as a graph in the dashboard:
+
+    [<img alt="" src="http://www.cloudera.com/wp-content/uploads/2013/03/dashboard-graph.png" width="600" height="307" />][11]
+
+    **Dashboard graph of an imported workflow**
+
+    The workflow import process is good, but not perfect yet. Ideally, as detailed above, resources will be found on the system and validated before being imported or resources should be optionally [provided][12].
+
+    Have any suggestions? Feel free to tell us what you think via [hue-user][13].
+
+ [1]: http://cloudera.github.com/hue/
+ [2]: http://oozie.apache.org/
+ [3]: http://blog.cloudera.com/blog/2013/03/whats-new-in-hue-2-2/
+ [4]: http://www.cloudera.com/wp-content/uploads/2013/03/oozie-workflow-editor-import.png
+ [5]: http://www.cloudera.com/wp-content/uploads/2013/03/oozie-import-workflow-upload-definition.png
+ [6]: http://www.cloudera.com/wp-content/uploads/2013/03/builder.png
+ [7]: http://www.cloudera.com/wp-content/uploads/2013/03/import-process.png
+ [8]: http://www.w3.org/TR/xslt
+ [9]: http://www.cloudera.com/wp-content/uploads/2013/03/missing-jar-path-highlighted.png
+ [10]: http://blog.cloudera.com/blog/2013/01/dynamic-workflow-builder-in-hue/
+ [11]: http://www.cloudera.com/wp-content/uploads/2013/03/dashboard-graph.png
+ [12]: https://issues.cloudera.org/browse/HUE-1001
+ [13]: https://groups.google.com/a/cloudera.org/forum/?fromgroups#!forum/hue-user

+ 205 - 0
docs/gethue/content/posts/2013-02-01-how-to-analyze-twitter-data-with-hue.md

@@ -0,0 +1,205 @@
+---
+title: 'How-to: Analyze Twitter Data with Hue'
+author: admin
+type: post
+date: 2013-02-01T05:00:00+00:00
+url: /how-to-analyze-twitter-data-with-hue/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/48706198060/how-to-analyze-twitter-data-with-hue
+tumblr_gethue_id:
+  - 48706198060
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+categories:
+  - Browsing
+  - Querying
+
+---
+[Hue 2.2][1] , the open source web-based interface that makes [Apache Hadoop][2] easier to use, lets you interact with Hadoop services from within your browser without having to go to a command-line interface. It features different applications like an Apache Hive editor and Apache Oozie dashboard and [workflow builder][3].
+
+This post is based on our “[Analyzing Twitter Data with Hadoop][4]” sample app and details how the same results can be achieved through Hue in a simpler way. Moreover, all the [code and examples][5] of the previous series have been updated to the recent [CDH4.2][6] release.
+
+### Collecting Data
+
+The first step is to create the “flume” user and his home on the HDFS where the data will be stored. This can be done via the User Admin application.
+
+[<img title="hue1" alt="" src="http://www.cloudera.com/wp-content/uploads/2013/03/hue1.png" width="600" height="369" />][7]
+
+The second step consists of collecting some tweet data from the live Twitter stream.
+
+[Apache Flume][8] is an elegant solution for taking care of this. The configuration of Flume is detailed in the [readme][9] and previous blog [post][10]. However, if you want to skip this step, some data is available on [GitHub][11]. Just upload it as a zip file in the home directory of the flume user and the “tweets” directory will show up after a few seconds.
+
+If you are not taking this shortcut, create the tweets directory in the File Browser with the New Folder action.
+
+[<img title="hue2" alt="" src="http://www.cloudera.com/wp-content/uploads/2013/03/hue2.png" width="600" height="117" />][12]
+
+Then, when the Flume agent is [started][13], the data will start appearing:
+
+[<img title="hue3" alt="" src="http://www.cloudera.com/wp-content/uploads/2013/03/hue3.png" width="600" height="327" />][14]
+
+Clicking on a file will display its content in the built-in viewer:
+
+[<img title="hue4" alt="" src="http://www.cloudera.com/wp-content/uploads/2013/03/hue4.png" width="600" height="228" />][15]
+
+### Preparing Hive
+
+It is time to prepare the analysis of the tweet data. We’ll use Apache Hive, which can query the data with SQL-like syntax in a scalable way. The detailed description of the Hive setup is detailed in the [readme][16].
+
+When Hive is ready, the tweet table can be created in the query editor of Beeswax. Notice that the Hive SerDe (to download or compile [here][16]) must be included as a jar in the query. You can read more about Hive SerDe in this previous [post][17].
+
+To do this, just click on “Add” > “File Resources”, click on the path chooser button, click on the “Home” button, and upload hive-serdes-1.0-SNAPSHOT.jar.
+
+[<img title="hue5" alt="" src="http://www.cloudera.com/wp-content/uploads/2013/03/hue5.png" width="600" height="326" />][18]
+
+Then just enter the `CREATE TABLE` statement and execute it:
+
+<pre class="code">CREATE EXTERNAL TABLE tweets (
+  id BIGINT,
+  created_at STRING,
+  source STRING,
+  favorited BOOLEAN,
+  retweet_count INT,
+  retweeted_status STRUCT&lt;
+    text:STRING,
+    user:STRUCT&lt;screen_name:STRING,name:STRING&gt;&gt;,
+  entities STRUCT&lt;
+    urls:ARRAY&lt;STRUCT&lt;expanded_url:STRING&gt;&gt;,
+    user_mentions:ARRAY&lt;STRUCT&lt;screen_name:STRING,name:STRING&gt;&gt;,
+    hashtags:ARRAY&lt;STRUCT&lt;text:STRING&gt;&gt;&gt;,
+
+  text STRING,
+  user STRUCT&lt;
+    screen_name:STRING,
+    name:STRING,
+    friends_count:INT,
+    followers_count:INT,
+    statuses_count:INT,
+    verified:BOOLEAN,
+    utc_offset:INT,
+    time_zone:STRING&gt;,
+  in_reply_to_screen_name STRING
+)
+PARTITIONED BY (datehour INT)
+ROW FORMAT SERDE 'com.cloudera.hive.serde.JSONSerDe'
+LOCATION '/user/flume/tweets'</pre>
+
+Now that the table is created, let’s insert some data in the table. First, select the table in the “Table” tab and click “Import data”. Enter the path “/user/flume/tweets/2013/02/25/17″ and “201302251″ as the key:
+
+[<img title="hue6" alt="" src="http://www.cloudera.com/wp-content/uploads/2013/03/hue6.png" width="600" height="317" />][19]
+
+Depending on the partition picked, a query similar to this will be generated:
+
+<pre class="code">LOAD DATA INPATH '/user/flume/tweets/2013/02/25/16'
+INTO TABLE `default.tweets`
+PARTITION (datehour='2013022516')</pre>
+
+After the query executes, the table ‘tweets’ will be available.
+
+[<img title="hue7" alt="" src="http://www.cloudera.com/wp-content/uploads/2013/03/hue7.png" width="600" height="171" />][20]
+
+Beeswax can access the Hive metastore and its list of tables. A description of their schema and partitions with some example of data contained in each table are helpful while designing your queries. Moreover, a wizard can guide you step-by-step to create new tables.
+
+[<img title="hue8" alt="" src="http://www.cloudera.com/wp-content/uploads/2013/03/hue8.png" width="600" height="195" />][21]
+
+### Analysis with Beeswax
+
+It becomes now possible to perform some `SELECT` queries on the data. Here is an example below but most of interesting ones are described in Parts [1][10] and [3][4] of the “Analyzing Twitter with Hadoop” series.
+
+<pre class="code">SELECT
+    t.retweeted_screen_name,
+    sum(retweets) AS total_retweets,
+    count(*) AS tweet_count
+  FROM (SELECT
+          retweeted_status.user.screen_name as retweeted_screen_name,
+              retweeted_status.text,
+              max(retweet_count) as retweets
+        FROM tweets
+        GROUP BY retweeted_status.user.screen_name,
+                 retweeted_status.text) t
+  GROUP BY t.retweeted_screen_name
+  ORDER BY total_retweets DESC
+  LIMIT 10;</pre>
+
+Beeswax possesses multiple features for providing a better user experience than the command line shell. For example you can save queries and share them with other users. The result of a query can be exported into a new table or an HDFS file or downloaded to your desktop. Some other good examples are:
+
+  * Ajax refresh of the logs
+  * Quick [column navigation][22] on the result page
+  * MapReduce jobs listing with a direct access to their logs
+  * ‘Email me on completion’ setting
+  * [Multi-database][23] support
+
+Example of the screen while running query:
+
+[<img title="hue9" alt="" src="http://www.cloudera.com/wp-content/uploads/2013/03/hue9.png" width="600" height="354" />][24]
+
+Seeing the result of the query:
+
+[<img title="hue10" alt="" src="http://www.cloudera.com/wp-content/uploads/2013/03/hue10.png" width="600" height="180" />][25]
+
+Note: if your queries are failing and you are seeing an error like below, it means that you forgot to add the ‘/user/flume/hive-serdes-1.0-SNAPSHOT.jar’ to the query:
+
+<pre class="code">FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.MapRedTask</pre>
+
+### Conclusion
+
+In this post we focused on how the Beeswax application can make it easy to execute Hive queries. New features such as multi-query ([HUE-159][26]), autocomplete, and syntax highlighting ([HUE-1063][27]) are going to improve the usability even more.
+
+The next article in this series will elaborate on this topic and describe how Hue’s Apache Oozie application can be used for scheduling Hive queries in a few clicks.
+
+Thank you for reading and feel free to post comments here or on the [hue-user][28] list. We also hope to see you at the first[Hue meetup][29] (this Wednesday, March 27)!
+
+ [1]: http://blog.cloudera.com/blog/2013/03/whats-new-in-hue-2-2/
+ [2]: http://hadoop.apache.org/
+ [3]: http://blog.cloudera.com/blog/2013/01/dynamic-workflow-builder-in-hue/
+ [4]: http://blog.cloudera.com/blog/2012/11/analyzing-twitter-data-with-hadoop-part-3-querying-semi-structured-data-with-hive/
+ [5]: https://github.com/romainr/cdh-twitter-example
+ [6]: http://blog.cloudera.com/blog/2013/02/new-products-releases/
+ [7]: http://www.cloudera.com/wp-content/uploads/2013/03/hue1.png
+ [8]: http://flume.apache.org/
+ [9]: https://github.com/romainr/cdh-twitter-example#configuring-flume
+ [10]: http://blog.cloudera.com/blog/2012/09/analyzing-twitter-data-with-hadoop/
+ [11]: https://github.com/romainr/cdh-twitter-example/blob/master/hue/tweets.zip
+ [12]: http://www.cloudera.com/wp-content/uploads/2013/03/hue2.png
+ [13]: https://github.com/romainr/cdh-twitter-example#starting-the-data-pipeline
+ [14]: http://www.cloudera.com/wp-content/uploads/2013/03/hue3.png
+ [15]: http://www.cloudera.com/wp-content/uploads/2013/03/hue4.png
+ [16]: https://github.com/romainr/cdh-twitter-example#setting-up-hive
+ [17]: http://blog.cloudera.com/blog/2012/12/how-to-use-a-serde-in-apache-hive/
+ [18]: http://www.cloudera.com/wp-content/uploads/2013/03/hue5.png
+ [19]: http://www.cloudera.com/wp-content/uploads/2013/03/hue6.png
+ [20]: http://www.cloudera.com/wp-content/uploads/2013/03/hue7.png
+ [21]: http://www.cloudera.com/wp-content/uploads/2013/03/hue8.png
+ [22]: https://issues.cloudera.org/browse/HUE-899
+ [23]: https://issues.cloudera.org/browse/HUE-535
+ [24]: http://www.cloudera.com/wp-content/uploads/2013/03/hue9.png
+ [25]: http://www.cloudera.com/wp-content/uploads/2013/03/hue10.png
+ [26]: https://issues.cloudera.org//browse/HUE-159
+ [27]: https://issues.cloudera.org/browse/HUE-1063
+ [28]: https://groups.google.com/a/cloudera.org/group/hue-user/topics
+ [29]: http://www.meetup.com/San-Francisco-Bay-Area-Hue-Users/

+ 56 - 0
docs/gethue/content/posts/2013-02-15-a-closer-look-at-hue-how-to-interface-with-hadoop.md

@@ -0,0 +1,56 @@
+---
+title: 'A closer look at hue: how to interface with Hadoop'
+author: admin
+type: post
+date: 2013-02-15T05:00:00+00:00
+url: /a-closer-look-at-hue-how-to-interface-with-hadoop/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/50032157208/a-closer-look-at-hue-how-to-interface-with-hadoop
+tumblr_gethue_id:
+  - 50032157208
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - News
+
+---
+<div>
+  <strong> <a title="A closer look at hue: how to interface with Hadoop" href="http://www.slideshare.net/RomainRigaux/a-closer-look-at-hue-how-to-interface-with-hadoop" target="_blank" rel="noopener noreferrer">A closer look at hue: how to interface with Hadoop</a> </strong> from <strong><a href="http://www.slideshare.net/RomainRigaux" target="_blank" rel="noopener noreferrer">Romain Rigaux</a></strong>
+</div>
+
+<div>
+</div>
+
+<iframe src="http://www.slideshare.net/slideshow/embed_code/17879280" height="550" width="900" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
+
+<div>
+  <span>Description about various ways to interface with Hadoop (Thrift, REST, JT plugins…) and how to build a Oozie workflow Drag & Drop editor.</span>
+</div>

+ 207 - 0
docs/gethue/content/posts/2013-02-15-whats-new-in-hue-2-2.md

@@ -0,0 +1,207 @@
+---
+title: What’s new in Hue 2.2
+author: admin
+type: post
+date: 2013-02-15T05:00:00+00:00
+url: /whats-new-in-hue-2-2/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/48706834468/whats-new-in-hue-2-2
+tumblr_gethue_id:
+  - 48706834468
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+categories:
+  - Browsing
+  - Querying
+  - Scheduling
+
+---
+This post is about the new release of [Hue,][1] an open source web-based interface that makes [Apache Hadoop][2] easier to use, that’s included in [CDH4.2][3].
+
+Hue lets you interact with Hadoop services from within your [browser][1] without having to go to a command-line interface. It features a file browser for HDFS, an Apache Oozie Application for creating workflows of data processing jobs, a job designer/browser for MapReduce, Apache Hive and Cloudera Impala query editors, a Shell, and a collection of Hadoop APIs.
+
+The goal of this release was to add a set of new features and improve the user experience. Read on for a list of the major changes (from [304][4] commits).
+
+### Oozie Application
+
+With the Oozie Application you can chain jobs and schedule them repeatedly without having to write XML anymore. Workflow and Coordinator management got extra focus and now matches all the [Oozie][5] functionalities:
+
+  * The workflow editor supports [Drag & Drop][6] and was restyled.
+  * The coordinator page was redesigned with a wizard and data can be specified by range.
+  * The dashboard displays any workflow as a graph and refreshes itself dynamically.
+  * All the Oozie actions are supported (addition of Sub-workflow, DistCp, Email, Fs, Generic).
+  * Forks can be converted to decision nodes.
+  * A read-only user can access the dashboard.
+  * A workflow or a coordinator can be resubmitted from specific steps.
+  * Existing XML workflow definition can be imported.
+  * The dashboard provides direct access to task logs of any action.
+
+[<img class="aligncenter wp-image-20565" title="hue1" alt="" src="http://www.cloudera.com/wp-content/uploads/2013/02/hue1.png" width="600" height="372" />][7]
+
+<p class="center-align">
+  <strong>Drag & Drop Workflow Editor<br /> </strong>
+</p>
+
+[<img class="aligncenter wp-image-20566" title="hue2" alt="" src="http://www.cloudera.com/wp-content/uploads/2013/02/hue2.png" width="600" height="307" />][8]
+
+<p class="center-align">
+  <strong>Workflow Dashboard</strong>
+</p>
+
+[<img class="aligncenter wp-image-20569" title="hue3" alt="" src="http://www.cloudera.com/wp-content/uploads/2013/02/hue3.png" width="600" height="221" />][9]
+
+<p class="center-align">
+  <strong>Coordinator Wizard</strong>
+</p>
+
+[<img class="aligncenter wp-image-20571" title="hue4a" alt="" src="http://www.cloudera.com/wp-content/uploads/2013/02/hue4a.png" width="300" height="213" />][10][<img class="aligncenter wp-image-20572" title="hue4" alt="" src="http://www.cloudera.com/wp-content/uploads/2013/02/hue4.png" width="300" height="222" />][11]
+
+<p class="center-align">
+  <strong>Rerun a Workflow (left) or a Coordinator (right)</strong>
+</p>
+
+### Beeswax/Hive Query Editor
+
+A number of user experience improvements make it simpler to query your data with SQL:
+
+  * Multiple databases are supported (tackling one of the most popular requests [HUE-535][12]).
+  * Query editor is bigger, has line numbers and shows lines with error(s).
+  * Running queries shows logs in Ajax and lets you scroll through them.
+  * Query results page has a horizontal scroll bar and a quick column name lookup for accessing a certain column when they are many.
+
+[<img class="aligncenter wp-image-20574" title="hue5" alt="" src="http://www.cloudera.com/wp-content/uploads/2013/02/hue5.png" width="600" height="224" />][13]
+
+<p class="center-align">
+  <strong>Query Editor<br /> </strong>
+</p>
+
+[<img class="aligncenter wp-image-20575" title="hue6" alt="" src="http://www.cloudera.com/wp-content/uploads/2013/02/hue6.png" width="600" height="304" />][14]
+
+<p class="center-align">
+  <strong>Wide result page with column lookup</strong>
+</p>
+
+## Impala Editor
+
+[Impala][15] can now be queried from a new interface. More features will be supported when Impala is GA.
+
+[<img class="aligncenter wp-image-20576" title="hue7" alt="" src="http://www.cloudera.com/wp-content/uploads/2013/02/hue7.png" width="600" height="297" />][16]
+
+<p class="center-align">
+  <strong>Cloudera Impala query</strong>
+</p>
+
+### FileBrowser
+
+FileBrowser lets you navigate and manage HDFS files in a UI. Its front end was totally redesigned and new filesystem operations were added. You do not need to use the `hadoop fs` command anymore!
+
+  * Bulk operations for multiple deletions, changing of permissions or owner
+  * Supports bulks operation recursively or not (e.g. chmod recursively a folder)
+  * Upload archives (e.g. upload multiple files at once like the [Oozie sharelib][17])
+  * Create a file and edit it
+
+[<img class="aligncenter wp-image-20577" title="hue8" alt="" src="http://www.cloudera.com/wp-content/uploads/2013/02/hue8.png" width="600" height="269" />][18]
+
+<p class="center-align">
+  <strong>Bulk editing</strong>
+</p>
+
+### JobBrowser
+
+JobBrowser lists MapReduce jobs with their statistics and statuses. It was prettified and now supports MR2 jobs running over [YARN][19]:
+
+  * MR2 jobs and their logs can be browsed.
+  * Job logs can be accessed with one click.
+  * Other apps like Beeswax and Oozie can now show the MR2 logs.
+
+[<img class="aligncenter wp-image-20578" title="hue10" alt="" src="http://www.cloudera.com/wp-content/uploads/2013/02/hue10.png" width="600" height="273" />][20]
+
+<p class="center-align">
+  <strong>MR1/MR2 job list and direct log access</strong>
+</p>
+
+### UserAdmin
+
+Groups and Hue permissions can be assigned to the users through the UserAdmin application. Access to Hue applications can be customized for each user. (For example, Bob can only see and use the Oozie and Impala applications.) The application has been restyled and simplified, and is no longer accessible by default to non-superuser:
+
+  * HDFS home of first/new/imported users is created automatically.
+  * LDAP support now has wildcard search, user import by wildcard expression and [group syncing][21] by distinguished name.
+
+[<img title="hue11" alt="" src="http://www.cloudera.com/wp-content/uploads/2013/02/hue11.png" width="600" height="531" />][22]
+
+<p class="center-align">
+  <strong>Group permission editing</strong>
+</p>
+
+### Desktop
+
+Desktop is the core library of Hue and every application is built on top of it. In this release, the user experience has been improved with more informative errors (now with stack traces and line numbers) and new status messages (such as when critical services like Oozie are down).
+
+On the technical side, users can now upload files to a federated cluster, some XSS vulnerabilities were fixed, and database [greenlet][23] support was introduced for more performance. Hue now fully supports transactional databases like MySQL MyISAM and PostgreSQL.
+
+Hue is also internationalized and available in English, French, German, Spanish, Portuguese (and Brazilian Portuguese), Korean, Japanese and simplified Chinese.
+
+### Conclusion
+
+With this 2.2 release, a big part of the Hadoop user experience gap was filled in.
+
+The next [2.3][24] release will target users who wish to better leverage the multiple query solutions in CDH (Beeswax/Hive, Impala, and Pig). A new document model ([HUE-950][25]) would make each query (e.g. Hive query) searchable and shareable with your colleagues or importable into an Oozie workflow without any duplication. A trash and source control versioning system ([HUE-951][26]) is also discussed as well as Oozie bundle ([HUE-869][27]) integrations.
+
+Many past feature and [bugs][28] were discussed on the [hue-user][29] list, so feel free to chime in! A [Hue meetup group][30] was created and it would be a pleasure to meet you in person and see how analyzing your data with Hadoop could be made easier.
+
+ [1]: http://cloudera.github.com/hue/
+ [2]: http://hadoop.apache.org/
+ [3]: https://ccp.cloudera.com/display/CDH4DOC/New+Features+in+CDH4
+ [4]: http://cloudera.github.com/hue/docs-2.2.0/release-notes/release-notes-2.2.0.html
+ [5]: http://archive.cloudera.com/cdh4/cdh/4/oozie/
+ [6]: http://blog.cloudera.com/blog/2013/01/dynamic-workflow-builder-in-hue/
+ [7]: http://www.cloudera.com/wp-content/uploads/2013/02/hue1.png
+ [8]: http://www.cloudera.com/wp-content/uploads/2013/02/hue2.png
+ [9]: http://www.cloudera.com/wp-content/uploads/2013/02/hue3.png
+ [10]: http://www.cloudera.com/wp-content/uploads/2013/02/hue4a.png
+ [11]: http://www.cloudera.com/wp-content/uploads/2013/02/hue4.png
+ [12]: https://issues.cloudera.org/browse/HUE-535
+ [13]: http://www.cloudera.com/wp-content/uploads/2013/02/hue5.png
+ [14]: http://www.cloudera.com/wp-content/uploads/2013/02/hue6.png
+ [15]: https://github.com/cloudera/impala
+ [16]: http://www.cloudera.com/wp-content/uploads/2013/02/hue7.png
+ [17]: http://blog.cloudera.com/blog/2012/12/how-to-use-the-sharelib-in-apache-oozie/
+ [18]: http://www.cloudera.com/wp-content/uploads/2013/02/hue8.png
+ [19]: http://hadoop.apache.org/docs/r0.23.0/hadoop-yarn/hadoop-yarn-site/YARN.html
+ [20]: http://www.cloudera.com/wp-content/uploads/2013/02/hue10.png
+ [21]: https://issues.cloudera.org/browse/HUE-978
+ [22]: http://www.cloudera.com/wp-content/uploads/2013/02/hue11.png
+ [23]: http://greenlet.readthedocs.org/en/latest/
+ [24]: https://issues.cloudera.org/secure/IssueNavigator.jspa?mode=hide&requestId=10258
+ [25]: https://issues.cloudera.org/browse/HUE-950
+ [26]: https://issues.cloudera.org/browse/HUE-951
+ [27]: https://issues.cloudera.org/browse/HUE-869
+ [28]: https://issues.cloudera.org/secure/IssueNavigator.jspa?mode=hide&requestId=10261
+ [29]: https://groups.google.com/a/cloudera.org/group/hue-user/topics
+ [30]: http://www.meetup.com/San-Francisco-Bay-Area-Hue-Users/

+ 62 - 0
docs/gethue/content/posts/2013-02-25-hue-2-2-0-feb-25th-2013.md

@@ -0,0 +1,62 @@
+---
+title: Hue 2.2.0 – Feb 25th, 2013
+author: admin
+type: post
+date: 2013-02-25T05:00:00+00:00
+url: /hue-2-2-0-feb-25th-2013/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/49863543732/hue-2-2-0-feb-25th-2013
+tumblr_gethue_id:
+  - 49863543732
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Release
+
+---
+  * The Oozie application has been restyled completely and now supports Ajax refreshes
+  * A Cloudera Impala app was added
+  * Beeswax/Hive editor is more user friendly
+  * FileBrowser was restyled and now includes bulk and recursive operations (e.g. multiple deletes)
+  * JobBrowser is compatible with YARN and job logs can be accessed in one click
+  * UserAdmin was restyled and LDAP integration was improved
+  * MySql MyISAM and PostgreSQL are officially supported
+
+Hue works best with [Cloudera’s Distribution for Apache Hadoop (CDH) version 4.2][1].
+
+  * [Documentation][2]
+  * [Download tarball][3]{.trackLink}
+  * [Install packages][4]
+
+ [1]: https://ccp.cloudera.com/display/CDH4DOC/CDH4+Quick+Start+Guide
+ [2]: http://cloudera.github.io/hue/docs-2.2.0/index.html
+ [3]: https://cdn.gethue.com/downloads/releases/2.2.0/hue-2.2.0.tgz
+ [4]: https://ccp.cloudera.com/display/CDH4DOC/Hue+Installation#HueInstallation-InstallingHue

+ 77 - 0
docs/gethue/content/posts/2013-03-01-demo-hdfs-file-operations-made-easy-with-hue.md

@@ -0,0 +1,77 @@
+---
+title: 'Demo: HDFS File Operations Made Easy with Hue'
+author: admin
+type: post
+date: 2013-03-01T05:00:00+00:00
+url: /demo-hdfs-file-operations-made-easy-with-hue/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/48706244836/demo-hdfs-file-operations-made-easy-with-hue
+tumblr_gethue_id:
+  - 48706244836
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+ampforwp-amp-on-off:
+  - default
+categories:
+  - Browsing
+
+---
+Managing and viewing data in [HDFS][1] is an important part of Big Data analytics. [Hue][2], the open source web-based interface that makes [Apache Hadoop][3] easier to use, helps you do that through a GUI in your browser —  instead of logging into a Hadoop gateway host with a terminal program and using the command line.
+
+<https://www.youtube.com/watch?v=1iCZ9cKiQ84>
+
+The first episode in a new series of Hue demos, the video below demonstrates how to get up and running quickly with HDFS file operations via Hue’s File Browser application.
+
+### Other Features
+
+In addition to the above scenario, File Browser lets you perform more advanced file operations:
+
+  * Download
+  * Rename
+  * Move
+  * Copy
+  * Recursive change of permissions
+  * Recursive change of ownership
+  * Sort by attributes (e.g. name, size, date…)
+  * View content of zip/gz text
+  * View content of huge files
+  * Drag & drop files to upload
+
+### What’s Next?
+
+Thanks to File Browser, file operations in HDFS are only a few clicks away. Hue’s other apps leverage the File Browser as well and offer direct links to the outputs of your MapReduce jobs, Hive queries, or Pig scripts so that you can share or take a glance/visualize in no time.
+
+Thank you for watching, and stay tuned for upcoming episodes! Feel free to ask questions in comments or via the [Hue group][4].
+
+ [1]: http://hadoop.apache.org/docs/r1.0.4/hdfs_user_guide.html
+ [2]: http://cloudera.github.com/hue
+ [3]: http://hadoop.apache.org/
+ [4]: https://groups.google.com/a/cloudera.org/forum/?fromgroups#%21forum/hue-user

+ 189 - 0
docs/gethue/content/posts/2013-03-11-tutorial-analyzing-data-with-hue-and-hive.md

@@ -0,0 +1,189 @@
+---
+title: Analyzing Data with Hue and Hive
+author: admin
+type: post
+date: 2013-03-11T04:00:00+00:00
+url: /tutorial-analyzing-data-with-hue-and-hive/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/48706295801/tutorial-analyzing-data-with-hue-and-hive
+tumblr_gethue_id:
+  - 48706295801
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Browsing
+  - Querying
+
+---
+In the first installment of the demo series about [Hue][1] — the open source Web UI that makes [Apache Hadoop][2] easier to use — you learned how file operations are simplified via the File Browser application. In this installment, we’ll focus on analyzing data with Hue, using Apache Hive via Hue’s Beeswax and Catalog applications (based on [Hue 2.3][3] and later).
+
+<iframe src="https://player.vimeo.com/video/80460405?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop Tutorial - Create Hive tables and load quoted CSV data in Hue" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+The [Yelp Dataset Challenge][4] provides a good use case. This post explains, through a video and tutorial, how you can get started doing some analysis and exploration of Yelp data with Hue. The goal is to find the coolest restaurants in Phoenix!
+
+### Dataset Challenge with Hue
+
+The demo below demonstrates how the “business” and “review” datasets are cleaned and then converted to a Hive table before being queried with SQL.
+
+Now, let’s step through a tutorial based on this demo. The queries and scripts are available on [GitHub][5].
+
+### Getting Started & Normalization
+
+First, get the dataset from the [Yelp Challenge webpage][6]. Then, clean the data using [this script][7].
+
+  1. Retrieve the data and extract it. <pre class="code">tar -xvf yelp_phoenix_academic_dataset.tar
+
+cd yelp_phoenix_academic_dataset
+wget <a href="https://raw.github.com/romainr/yelp-data-analysis/master/convert.py">https://raw.github.com/romainr/yelp-data-analysis/master/convert.py</a>
+
+yelp_phoenix_academic_dataset$ ls
+convert.py notes.txt READ_FIRST-Phoenix_Academic_Dataset_Agreement-3-11-13.pdf yelp_academic_dataset_business.json yelp_academic_dataset_checkin.json yelp_academic_dataset_review.json yelp_academic_dataset_user.json</pre>
+
+  2. Convert it to TSV. <pre class="code">chmod +x convert.py
+./convert.py</pre>
+
+    &nbsp;</li>
+
+      * The following column headers will be printed by the above script. <pre class="code">["city", "review_count", "name", "neighborhoods", "type", "business_id", "full_address", "state", "longitude", "stars", "latitude", "open", "categories"]
+["funny", "useful", "cool", "user_id", "review_id", "text", "business_id", "stars", "date", "type"]</pre></ol>
+
+    ### Create the Tables
+
+    Next, create the Hive tables with the “Create a new table from a file” screen in the Catalog app or Beeswax “Tables” tab.
+
+    [<img title="hue1" src="http://www.cloudera.com/wp-content/uploads/2013/04/hue1.png"/>][8]
+
+    <p class="center-align">
+      <strong>Creating a new table</strong>
+    </p>
+
+    Upload the data files yelp_academic_dataset_business_clean.json and yelp_academic_dataset_review_clean.json. Hue will then guess the tab separator and then lets you name each column of the tables. (Tip: in Hue 2.3, you can paste the column names in directly.)
+
+    [<img title="hue2" src="http://www.cloudera.com/wp-content/uploads/2013/04/hue2.png"/>][9]
+
+    <p class="center-align">
+      <strong>Naming columns</strong>
+    </p>
+
+    You can then see the table and browse it.
+
+    [<img title="hue3" src="http://www.cloudera.com/wp-content/uploads/2013/04/hue3.png"/>][10]
+
+    <p class="center-align">
+      <strong>Browsing the table</strong>
+    </p>
+
+    ### Queries
+
+    Open up Hue’s Hive editor (Beeswax) and run one of these queries:
+
+    **Top 25: business with most of the reviews**
+
+    {{< highlight sql >}}
+    SELECT name, review_count
+    FROM business
+    ORDER BY review_count DESC
+    LIMIT 25
+    {{ < /highlight >}}
+
+    **Top 25: coolest restaurants**
+
+    {{< highlight sql >}}SELECT r.review_id, name, SUM(cool) AS coolness
+
+    FROM review r JOIN business b
+
+    ON (r.review_id = b.id)
+
+    WHERE categories LIKE '%Restaurants%'
+
+    GROUP BY r.review_id, name
+
+    ORDER BY coolness DESC
+
+    LIMIT 25
+
+    {{< /highlight >}}
+
+    [<img title="hue4" src="http://www.cloudera.com/wp-content/uploads/2013/04/hue4.png"/>][11]
+
+    <p class="center-align">
+      <strong>Query editor with SQL syntax highlighting and auto-complete<br /> </strong>
+    </p>
+
+    [<img title="hue5" src="http://www.cloudera.com/wp-content/uploads/2013/04/hue5.png"/>][12]
+
+    <p class="center-align">
+      <strong>Watch the query runs<br /> </strong>
+    </p>
+
+    [<img title="hue6" src="http://www.cloudera.com/wp-content/uploads/2013/04/hue61.png"/>][13]
+
+    <p class="center-align">
+      <strong>See the results with an infinite scroll</strong>
+    </p>
+
+    Now let your imagination run wild and execute some of your own queries!
+
+    Note: This demo is about doing some quick data analytics and exploration. Running more machine learning oriented jobs like the [Yelp Examples][14] would deserve a separate blog post on how to run [MrJob][15]. Hue users would need to create an Apache Oozie workflow with a Shell action (see below). Notice that a ‘mapred’ user would need to be created first in the User Admin.
+
+    [<img title="hue7" src="http://www.cloudera.com/wp-content/uploads/2013/04/hue71.png"/>][16]
+
+    <p class="center-align">
+      <strong>Running MrJob Wordcount example in the Oozie app with a Shell action</strong>
+    </p>
+
+    ### What’s Next
+
+    As you can see, getting started with data analysis is simple with the interactive Hive query editor and Table browser in Hue.
+
+    Moreover, all the `SELECT` queries can also be performed in Hue’s Cloudera [Impala][17] application for a real-time experience. Obviously, you would need more data than the sample for doing a fair comparison but the improved interactivity is noticeable.
+
+    In upcoming episodes, you’ll see how to use Apache Pig for doing a similar data analysis, and how Oozie can glue everything together in schedulable workflows.
+
+    Thank you for watching and hurry up, only one month before the end of the [Yelp contest][6]!
+
+ [1]: http://cloudera.github.com/hue/
+ [2]: http://hadoop.apache.org/
+ [3]: http://cloudera.github.io/hue/docs-2.3.0/release-notes/release-notes-2.3.0.html
+ [4]: http://www.yelp.com/dataset_challenge/
+ [5]: https://github.com/romainr/yelp-data-analysis
+ [6]: https://www.yelp.com/dataset_challenge/
+ [7]: https://github.com/romainr/yelp-data-analysis/blob/master/convert.py
+ [8]: http://www.cloudera.com/wp-content/uploads/2013/04/hue1.png
+ [9]: http://www.cloudera.com/wp-content/uploads/2013/04/hue2.png
+ [10]: http://www.cloudera.com/wp-content/uploads/2013/04/hue3.png
+ [11]: http://www.cloudera.com/wp-content/uploads/2013/04/hue4.png
+ [12]: http://www.cloudera.com/wp-content/uploads/2013/04/hue5.png
+ [13]: http://www.cloudera.com/wp-content/uploads/2013/04/hue61.png
+ [14]: https://github.com/Yelp/dataset-examples
+ [15]: https://github.com/Yelp/mrjob
+ [16]: http://www.cloudera.com/wp-content/uploads/2013/04/hue71.png
+ [17]: http://www.cloudera.com/content/cloudera/en/products/cloudera-enterprise-core/cloudera-enterprise-RTQ.html

+ 56 - 0
docs/gethue/content/posts/2013-03-27-kick-off-of-how-to-improve-the-hadoop-user-experience.md

@@ -0,0 +1,56 @@
+---
+title: Kick-off of how to improve the Hadoop User Experience meetups
+author: admin
+type: post
+date: 2013-03-27T04:00:00+00:00
+url: /kick-off-of-how-to-improve-the-hadoop-user-experience/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/50032073163/kick-off-of-how-to-improve-the-hadoop-user-experience
+tumblr_gethue_id:
+  - 50032073163
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - News
+
+---
+<div>
+  <strong> <a title="Hue meetup: what's new in hue and road map" href="http://www.slideshare.net/RomainRigaux/hue-meetup-whats-new-in-hue-and-road-map" target="_blank" rel="noopener noreferrer">Hue meetup: what’s new in hue and road map</a> </strong> from <strong><a href="http://www.slideshare.net/RomainRigaux" target="_blank" rel="noopener noreferrer">Romain Rigaux</a></strong>
+</div>
+
+<div>
+</div>
+
+<div>
+  From the first <a href="http://www.meetup.com/San-Francisco-Bay-Area-Hue-Users/events/108727892/">Hue meetup</a>.<a href="http://www.meetup.com/San-Francisco-Bay-Area-Hue-Users/events/108727892/"><br /> </a>
+</div>
+
+<iframe src="http://www.slideshare.net/slideshow/embed_code/17787417" height="550" width="900" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>

+ 60 - 0
docs/gethue/content/posts/2013-04-15-hue-2-3-0-apr-15th-2013.md

@@ -0,0 +1,60 @@
+---
+title: Hue 2.3.0 – Apr 15th, 2013
+author: admin
+type: post
+date: 2013-04-15T04:00:00+00:00
+url: /hue-2-3-0-apr-15th-2013/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/49863621004/hue-2-3-0-apr-15th-2013
+tumblr_gethue_id:
+  - 49863621004
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Release
+
+---
+  * <span>Pig App: new application for editing and running Pig scripts with UDF and parameters</span>
+  * <span>Catalog App: new application for managing databases, viewing table schemas and sampling of content</span>
+  * <span>Oozie Bundles are now supported</span>
+  * <span>SQL highlighting and autocompletion for Hive / Impala apps</span>
+  * <span>Multi query and query section execution</span>
+  * <span>Job Designer was totally restyled and now support all the Oozie actions</span>
+  * Oracle (11.2) databases are now supported
+
+Hue works best with [Cloudera’s Distribution for Apache Hadoop (CDH) version 4.2][1].
+
+  * [Documentation][2]
+  * [Download tarball][3]{.trackLink}
+
+ [1]: https://ccp.cloudera.com/display/CDH4DOC/CDH4+Quick+Start+Guide
+ [2]: http://cloudera.github.io/hue/docs-2.3.0/index.html
+ [3]: https://cdn.gethue.com/downloads/releases/2.3.0/hue-2.3.0.tgz

+ 71 - 0
docs/gethue/content/posts/2013-04-16-whats-new-in-hue-2-3.md

@@ -0,0 +1,71 @@
+---
+title: What’s New in Hue 2.3
+author: admin
+type: post
+date: 2013-04-16T04:00:00+00:00
+url: /whats-new-in-hue-2-3/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/49211527060/whats-new-in-hue-2-3
+tumblr_gethue_id:
+  - 49211527060
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Querying
+  - Scheduling
+  - Release
+
+---
+We’re very happy to announce the 2.3 release of Hue, the open source [Web UI][1] that makes Apache Hadoop easier to use.
+
+[Hue 2.3][2] comes only two months after [2.2][3] but contains more than 100 improvements and fixes. In particular, two new apps were added (including an Apache Pig editor) and the query editors are now easier to use.
+
+Here’s a video demoing the major changes:
+
+Here’s the new features list:
+
+  * Pig Editor: new application for editing and running [Apache Pig][4] scripts with UDFs and parameters
+  * Table Browser: new application for managing [Apache Hive][5] databases, viewing table schemas and sample of content
+  * [Apache Oozie][6] Bundles are now supported
+  * SQL highlighting and auto-completion for Hive/Impala apps
+  * Multi-query and highlight/run a portion of a query
+  * Job Designer was totally restyled and now supports all Oozie actions
+  * Oracle databases (11.2 and later) are now supported
+
+We would like to thank everybody who worked on this release. New features and [feedback][7] are continuously being integrated!
+
+ [1]: http://cloudera.github.com/hue
+ [2]: http://cloudera.github.io/hue/docs-2.3.0/index.html
+ [3]: http://blog.cloudera.com/blog/2013/03/whats-new-in-hue-2-2/
+ [4]: http://pig.apache.org/
+ [5]: http://hive.apache.org/
+ [6]: http://oozie.apache.org/
+ [7]: http://groups.google.com/a/cloudera.org/group/hue-user

+ 190 - 0
docs/gethue/content/posts/2013-05-07-tutorial-executing-hive-or-impala-queries-with-python.md

@@ -0,0 +1,190 @@
+---
+title: Executing Hive or Impala Queries with Python
+author: admin
+type: post
+date: 2013-05-07T21:58:00+00:00
+url: /tutorial-executing-hive-or-impala-queries-with-python/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/49882746559/tutorial-executing-hive-or-impala-queries-with-python
+tumblr_gethue_id:
+  - 49882746559
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+categories:
+  - Querying
+  - Development
+
+---
+<p id="docs-internal-guid-3030a9d6-8100-9572-805c-bc5817743118">
+  <span>This post talks about Hue, a</span><a href="http://cloudera.github.com/hue"><span>UI</span></a><span> for making Apache Hadoop easier to use.</span>
+</p>
+
+<span>Hue uses a various set of interfaces for communicating with the Hadoop components. This post describes how Hue is implementing the </span>[Apache HiveServer2][1] <span>Thrift API for executing </span>[Hive queries][2] <span>and listing tables. The same interface can also be used for talking to </span>[Cloudera Impala][3]<span>.</span>
+
+### <span> </span>
+
+### <span>Hive</span>
+
+<span>This code requires </span>[Hue 2.3 ][4]<span>or later in order to successfully work. We are using the Beeswax examples as data. They can be installed in the second step of the Hue Quick Start wizard. Obviously, Hive Server 2 needs to be running.</span>
+
+<span>First we log in in the Hue shell. HUE_HOME is the path where was Hue installed:</span>
+
+<pre class="code">$HUE_HOME/build/env/bin/hue shell</pre>
+
+<span>Create a user under which the queries are going to be sent:</span>
+
+<pre class="code">from beeswax.server import dbms
+from django.contrib.auth.models import User
+hue, created = User.objects.get_or_create(username='hue')</pre>
+
+<span>1. List the tables of the default database:</span>
+
+<pre class="code">db = dbms.get(hue)
+db.get_tables()
+&gt;
+['sample_07', 'sample_08']</pre>
+
+<span>2. Execute a statement. </span>
+
+<span>Here we are doing a SELECT in order to calculate the average salaries of the employes but it could be any SQL statements (e.g. CREATE, ALTER, SHOW…):</span>
+
+<pre class="code">query = db.execute_statement('select avg(salary) from sample_07')</pre>
+
+<span>We then check for the query completion:</span>
+
+<pre class="code">db.get_state(query.get_handle())
+&gt; EnumValue(&lt;enum.Enum object at 0x29d8b50&gt;, 1, 'running')
+
+db.get_state(query.get_handle())
+&gt; EnumValue(&lt;enum.Enum object at 0x29d8b50&gt;, 1, 'running')
+
+db.get_state(query.get_handle())
+&gt; EnumValue(&lt;enum.Enum object at 0x29d8b50&gt;, 2, 'available')</pre>
+
+<span>Here we fetch the result and show its structure:</span>
+
+<pre class="code">result = db.fetch(query.get_handle())
+&gt; dir(result)
+['__doc__',
+'__init__',
+'__module__',
+'cols',
+'columns',
+'data_table',
+'has_more',
+'ready',
+'rows',
+'start_row']</pre>
+
+<span>The result is a generator, this is a way to print its content:</span>
+
+<pre class="code">for row in result.rows():
+ print row
+
+&gt; [47963.62637362637]</pre>
+
+<span>Query logs can be retrieved like this:</span>
+
+<pre class="code">print db.get_log(query.get_handle())
+
+&gt; 13/04/22 17:32:50 INFO ql.Driver: &lt;PERFLOG method=compile&gt;
+13/04/22 17:32:50 INFO parse.SemanticAnalyzer: Starting Semantic Analysis
+13/04/22 17:32:50 INFO parse.SemanticAnalyzer: Completed phase 1 of Semantic Analysis
+...
+13/04/22 17:32:50 WARN mapred.JobClient: Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same.
+13/04/22 17:32:50 WARN conf.Configuration: io.bytes.per.checksum is deprecated. Instead, use dfs.bytes-per-checksum
+13/04/22 17:32:50 INFO exec.Task: Starting Job = job_201304170951_0028, Tracking URL = http://localhost:50030/jobdetails.jsp?jobid=job_201304170951_0028
+13/04/22 17:32:50 INFO exec.Task: Kill Command = /usr/lib/hadoop/bin/hadoop job  -kill job_201304170951_0028
+13/04/22 17:32:52 INFO exec.Task: Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 1
+13/04/22 17:32:52 WARN mapreduce.Counters: Group org.apache.hadoop.mapred.Task$Counter is deprecated. Use org.apache.hadoop.mapreduce.TaskCounter instead
+13/04/22 17:32:52 INFO exec.Task: 2013-04-22 17:32:52,927 Stage-1 map = 0%,  reduce = 0%
+13/04/22 17:32:55 INFO exec.Task: 2013-04-22 17:32:55,937 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 0.66 sec
+13/04/22 17:32:56 INFO exec.Task: 2013-04-22 17:32:56,942 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 0.66 sec
+...</pre>
+
+<span>Note</span>
+
+<span>HiveServer2 by default uses ThriftSASL transport. You can run it in non-sasl mode by adding the following to the hive-site.xml:</span>
+
+<pre class="code">&lt;property&gt;
+  &lt;name&gt;hive.server2.authentication&lt;/name&gt;
+  &lt;value&gt;NOSASL&lt;/value&gt;
+&lt;/property&gt;</pre>
+
+### <span> </span>
+
+### <span>Impala</span>
+
+<span>Impala is using the same API as HiveServer2. We reuse the same client by just specifying Impala as the server.</span>
+
+<pre class="code">from beeswax.server.dbms import get_query_server_config
+
+impala_config = get_query_server_config(name='impala')
+db = dbms.get(hue, impala_config)</pre>
+
+<span>We can then perform the same operations as with HiveServer2:</span>
+
+<pre class="code">db.get_tables()
+query = db.execute_statement('select avg(salary) from sample_07')
+...</pre>
+
+<span>Note</span>
+
+<span>Impala needs to be configured for the HiveServer2 interface, as detailed in the </span>[<span>hue.ini</span>][5]<span>.</span>
+
+### <span> </span>
+
+### <span>How it works</span>
+
+<span>Here are the steps done in order to send the queries from Hue:</span>
+
+  1. <span>Grab the </span>[<span>HiveServer2 IDL</span>][6]<span>.</span>
+  2. <span>Generate the python code with </span>[<span>Thrift 0.9</span>][7]<span>. Hue does it with this script </span>[<span>regenerate_thrift.sh</span>][8]<span>.</span>
+  3. <span>Implement it. This is </span>[<span>hive_server2_lib.py</span>][9]<span>.</span>
+  4. <span>An extra layer (</span>[<span>dbms.py</span>][10]<span>) has been added in order to simplify the use of the raw API and keep compatibility with Beeswax (ancestor of Hive Server 2). This is what we use in the above example. This is the list of all the possible operations.</span>
+
+### <span> </span>
+
+### <span>Sum-up</span>
+
+<span>Hue 2.3 supports most of the functionalities of HiveServer2 and Impala interfaces. The full implementation will be available in Hue 2.4 or in the upcoming CDH4.3 release (and is already in Hue master). User sessions are saved in the Hue DB and are transparent in the use of the API.</span>
+
+<span>Hue’s Beeswax and Impala apps are now based on the HiveServer2 interface which offers a more robust alternative than Beeswax. Hue’s implementation can be reused for building new apps or clients. Feel free to post comments or question on the </span>[hue group][11]<span>!</span>
+
+ [1]: http://hive.apache.org/
+ [2]: http://blog.cloudera.com/blog/2013/04/demo-analyzing-data-with-hue-and-hive/
+ [3]: http://cloudera.com/content/cloudera/en/campaign/introducing-impala.html
+ [4]: http://blog.cloudera.com/blog/2013/04/whats-new-in-hue-2-3/
+ [5]: https://github.com/cloudera/hue/blob/branch-2.3/desktop/conf.dist/hue.ini#L432
+ [6]: http://svn.apache.org/viewvc/hive/branches/branch-0.11/service/if/TCLIService.thrift?view=markup
+ [7]: http://thrift.apache.org/
+ [8]: https://github.com/cloudera/hue/blob/master/apps/beeswax/regenerate_thrift.sh
+ [9]: https://github.com/cloudera/hue/blob/master/apps/beeswax/src/beeswax/server/hive_server2_lib.py
+ [10]: https://github.com/cloudera/hue/blob/master/apps/beeswax/src/beeswax/server/dbms.py
+ [11]: http://groups.google.com/a/cloudera.org/group/hue-user

+ 147 - 0
docs/gethue/content/posts/2013-05-13-single-sign-on-in-hue-with-twitter-and-oauth.md

@@ -0,0 +1,147 @@
+---
+title: Single sign-on in Hue with Twitter and OAuth
+author: admin
+type: post
+date: 2013-05-13T14:01:00+00:00
+url: /single-sign-on-in-hue-with-twitter-and-oauth/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/50341521241/single-sign-on-in-hue-with-twitter-and-oauth
+tumblr_gethue_id:
+  - 50341521241
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Development
+
+---
+<p id="docs-internal-guid-55127576-85f6-b214-bad6-7ce289139d16">
+  <span>This post talks about</span><a href="http://cloudera.github.com/hue/"><span>Hue</span></a><span>, an open source web-based interface that makes</span><a href="http://hadoop.apache.org/"><span>Apache Hadoop</span></a><span> easier to use.</span>
+</p>
+
+<span>Hue’s target is the Hadoop user experience and lets users focus on big data processing. In the previous posts we focused on some </span>[new features][1] <span>and how to quickly analyze your </span>[data][2] <span>with the Hive editor.</span>
+
+This time, we are going to follow-up on Hue authentication mechanisms. We previously described a [list of backends][3] like LDAP, AllowAll (improved recently in the latest [2.3 release][4] with [HUE-962][5]) and this post will show how you can use your Twitter account for login-in into Hue. We are using Twitter as an example but could have picked Facebook Connect (they both use [Open Authentication][6]).
+
+## <span>Creating a Twitter Application</span>
+
+<span>First, we need to create a new Twitter application by going to the </span>[<span>developer platform page</span>][7]<span>. Provide some details about the application like the name and description. In order to avoid trouble later, do not forget to specify a placeholder URL in the ‘Callback URL’ field. This actually can be any URL and will prevent you from hitting a known </span>[<span>bug</span>][8] <span>later.</span>
+
+<img alt="image" src="https://lh4.googleusercontent.com/klb8aZu27bNA_kiqiVwqki5Nmde9CCmMebny8RzfSn12abiJyBvJrJidKADkFxKFOjImxJQXdHtpCOqigN1y6r7Nn2CO2V4A0PyF_v8iVm7Wk-ibmZHbsMix" width="665px;" height="945px;" />
+
+<span>Creating a new application</span>
+
+<img alt="image" src="https://lh6.googleusercontent.com/qpQIsLPFY5wl7tt_ZlJzYGPMyv_ZsPKGhCsk6aWJaiZsohtdWmLE8OQmYC30szScvzfdc1QK2InweIHATnt5WzDqB6jS46NdvcjAiCAg39M-dfvpoxTG42oz" width="676px;" height="720px;" />
+
+<span>The Twitter application page</span>
+
+&nbsp;
+
+## <span>Open Authentication communication</span>
+
+<span>After creating your account, here is how Hue is going to interact with it through its new OAuth Backend (which implements Twitter </span>[<span>OAuth</span>][9] <span>version 1.0). </span>
+
+&nbsp;
+
+  1. <span>When the user clicks on the ‘Sign in’ button, Hue will perform its </span>[<span>first call </span>][10]<span>to Twitter for a request token. Hue sends both its key and secret and a URL callback and gets back a request token (OAuth token + secret). </span>
+  2. <span>The user is then redirected to Twitter (with only the OAuth token) which will ask him to authorize Hue to use his Twitter account. After this validation, Twitter redirects the user to Hue with the call back. </span>
+  3. <span>Hue sends the OAuth token and secret to Twitter and logs in the user if Twitter validated them.</span>
+
+<img alt="image" src="https://lh4.googleusercontent.com/FnQkDxPdbI0_-NcxfUnbGGgWyZ3k0dRmxzY55qKSOBdN8R1jqoqTnWUygEd4zQvPvI7Bi5fFQgDnvz3IhX_UJRFhQk0_Iw6Rn4I87mC4QsyBtoQXxpH3PQx0" width="476px;" height="264px;" />
+
+<span>OAuth Sign in page of Hue</span>
+
+<img alt="image" src="https://lh3.googleusercontent.com/V4lR8X636Kk0EFM9oc6P5opTmgoGHxuMgUUhRH7MAtLBUclSUPL0Lbb6Xc4TLawdkgPIb986vDsip5vKbQCFNbQCGp4K4NDqYkNLN9MfEp1gVF0J35UFCRDG" width="632px;" height="283px;" />
+
+<span>Authorizing Hue to use your Twitter account</span>
+
+<img alt="image" src="https://lh6.googleusercontent.com/0YeCJYIqAbmbtnt6SXl1EZjuoo7f0u8qW93INUGlLgVu1CyUmd57Dryv9Mj9oZHk3hQV1RFPXm9cAMstnLyGf_J-_UC8YkNNuRvybPfWzh0IvFPu2WmkSsRs" width="612px;" height="345px;" />
+
+<span>Logged-in user</span>
+
+&nbsp;
+
+<span>All this process is transparent to the user. You only have to click once to log in (twice if the Hue session has been terminated). Hue automatically uses your twitter username as login.</span>
+
+&nbsp;
+
+## <span>Do it yourself</span>
+
+<span>Hue 2.3 ships with a new OAuthBackend (added in </span>[HUE-966][11]<span>). Hue leverages the great </span>[OAuth2 Python][12] <span>lib and the </span>[httplib2][13]<span>.</span>
+
+<span>In order to configure Hue for this example, in hue.ini, specify the OAuth backend and the consumer key and secret which are appear on your “The Twitter application page” (cf. above section): </span>
+
+&nbsp;
+
+<pre class="code">[desktop]
+
+ # Configuration options for user authentication into the web application
+ # ------------------------------------------------------------------------
+
+ [[auth]]
+
+    backend=desktop.auth.backend.OAuthBackend
+
+ # Configuration options for using OAuth login
+ # ------------------------------------------------------------------------
+
+ [[oauth]]
+
+    # The Consumer key of the application
+    consumer_key=XXXXXXXXXXXXXXXXXXXXX
+
+    # The Consumer secret of the application
+    consumer_secret=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</pre>
+
+## Conclusion
+
+<span>Hue ships with various backends and offers a pluggable system which is easy to customize to your needs. In practice you could extend it to reuse your company login system and provide a </span>[<span>single sign-on</span>][14] <span>experience to your Hue users.</span>
+
+<span>Moreover, the user’s OAuth token can be saved into the user profile and be used for interacting safely with the service. For example, the Twitter token could let Hue fetch the user’s tweets and followers and display them directly into Hue. If the app asked for more permissions, it would even be possible to send some tweets or direct messages.</span>
+
+<span>Hue is seeing a continuous growth in </span>[activity][15] <span>and is on track for providing a lot of new features and fixes in 2.4. Coming posts are going to focus on some </span>[demos][16] <span>of common data analysis scenarios made easier with Hue. In the meantime, feel free to participate on the </span>[group][17]<span>!</span>
+
+ [1]: http://blog.cloudera.com/blog/2013/03/whats-new-in-hue-2-2/
+ [2]: http://blog.cloudera.com/blog/2013/03/how-to-analyze-twitter-data-with-hue/
+ [3]: http://blog.cloudera.com/blog/2012/12/managing-permissions-in-hue/
+ [4]: http://gethue.tumblr.com/post/49863621004/hue-2-3-0-apr-15th-2013
+ [5]: https://issues.cloudera.org/browse/HUE-962
+ [6]: http://oauth.net/
+ [7]: https://dev.twitter.com/apps/new
+ [8]: https://dev.twitter.com/discussions/392
+ [9]: https://dev.twitter.com/docs/auth/oauth
+ [10]: https://dev.twitter.com/docs/api/1/post/oauth/request_token
+ [11]: https://issues.cloudera.org/browse/HUE-966
+ [12]: https://github.com/simplegeo/python-oauth2
+ [13]: http://code.google.com/p/httplib2/
+ [14]: http://en.wikipedia.org/wiki/Single_sign-on
+ [15]: http://www.meetup.com/San-Francisco-Bay-Area-Hue-Users/
+ [16]: http://blog.cloudera.com/blog/2013/04/demo-hdfs-file-operations-made-easy-with-hue/
+ [17]: https://groups.google.com/a/cloudera.org/forum/?fromgroups#%21forum/hue-user

+ 92 - 0
docs/gethue/content/posts/2013-05-22-tutorial-a-new-ui-for-oozie.md

@@ -0,0 +1,92 @@
+---
+title: A new UI for Oozie
+author: admin
+type: post
+date: 2013-05-22T22:42:00+00:00
+url: /tutorial-a-new-ui-for-oozie/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/51101760198/tutorial-a-new-ui-for-oozie
+tumblr_gethue_id:
+  - 51101760198
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Scheduling
+  - Release
+
+---
+<p id="docs-internal-guid-49be0c2f-ce57-b599-b202-4938fdfe4c02">
+  <a href="http://oozie.apache.org/">Apache Oozie</a> is a great tool for building workflows of Hadoop jobs and scheduling them repeatedly. However, the user experience could be improved. In particular, all the job management happens on the command line and the default UI is readonly and requires a non-Apache licensed javascript library that makes it even more difficult to use.
+</p>
+
+<img src="https://lh6.googleusercontent.com/XTc_SBu10_xK7H21EAirZZPUamkuvGV7wOI4lxQkkVbE-yLw2X9kHJ6h-7QVAnIQAH1wjSdPT-Jk0ZdU7nW8TlocXWaMWEEOnO0ROne0BZgM6As7EMsEzBAX" alt="image" width="629px;" height="358px;" />
+
+Current Oozie UI
+
+<img src="https://lh3.googleusercontent.com/7x0W6YTh2Bbo8pUHK9IqvIUetRglQAaki5acklfPUuzHQ4fwJdSGElSJam5EmdjcBgWu9-jvVBVEBUWhMwpSloz0-wHsmiC8n_9O5ylRyH10olT_h6Bku2uu" alt="image" width="644px;" height="323px;" />
+
+New Oozie UI
+
+&nbsp;
+
+Here is a short video demo:
+
+<iframe src="https://player.vimeo.com/video/66732338?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="New alternative Oozie UI" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+The UI just sits on top of Oozie like the current Oozie UI. You can download a [release here][1]{.trackLink}.
+
+The [README][2] is available online as well as the source code on [github][3] and details how to install and start the UI.
+
+&nbsp;
+
+Feature list
+
+  * Workflows, Coordinators, Bundles dashboards
+  * Built with standard and current Web technologies
+  * Filtering, sorting, progress bars, XML highlighting
+  * Kill, suspend, and re-run jobs from the UI
+  * One click access to Oozie logs or MapReduce launcher logs
+  * One click access to the HDFS outputs of the jobs
+  * Spotlight search about Oozie instrumentation/configuration
+
+&nbsp;
+
+We hope that you give a try to this new standalone UI. In the next version, we can see for providing some packages for a quicker install. As a side note, Oozie users who would like to try a Workflow/Coordinator/Bundle editor could have a look to the [Hue Oozie app][4].
+
+&nbsp;
+
+As usual, we are welcoming any [feedback][5]!
+
+ [1]: https://cdn.gethue.com/downloads/releases/hue-oozie/hue-oozie-1.1.tgz
+ [2]: https://github.com/cloudera/hue/blob/hue-oozie/dist/README
+ [3]: https://github.com/cloudera/hue/tree/hue-oozie
+ [4]: https://gethue.com/the-dynamic-workflow-builder-in-hue/
+ [5]: http://groups.google.com/a/cloudera.org/group/hue-user

+ 99 - 0
docs/gethue/content/posts/2013-05-28-tutorial-apache-pig-editor-in-hue-2-3.md

@@ -0,0 +1,99 @@
+---
+title: Apache Pig Editor in Hue 2.3
+author: admin
+type: post
+date: 2013-05-28T14:02:00+00:00
+url: /tutorial-apache-pig-editor-in-hue-2-3/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/51559235973/tutorial-apache-pig-editor-in-hue-2-3
+tumblr_gethue_id:
+  - 51559235973
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Querying
+
+---
+In the previous installment of the demo series about [Hue][1] — the open source Web UI that makes [Apache Hadoop][2] easier to use — you learned how to [analyze data with Hue using Apache Hive via Hue’s Beeswax and Catalog applications][3]. In this installment, we’ll focus on using the new editor for [Apache Pig][4] in [Hue 2.3][5].
+
+{{< vimeo 66661052 >}}
+
+Complementing the editors for Hive and Cloudera Impala, the Pig editor provides a great starting point for exploration and real-time interaction with Hadoop. This new application lets you edit and run Pig scripts interactively in an editor tailored for a great user experience. Features include:
+
+  * UDFs and parameters (with default value) support
+  * Autocompletion of Pig keywords, aliases, and HDFS paths
+  * Syntax highlighting
+  * One-click script submission
+  * Progress, result, and logs display
+  * Interactive single-page application
+
+Here’s a short video demoing its capabilities and ease of use:
+
+The demo [data][6] is based on the previous [Hive and Metastore demo][7] and its cleaned business file.
+
+Here is the Pig script used and explained in this demo. It is loading the Yelp business file that was converted in the [previous demo][3] and computing the top-25 most reviewed restaurants:
+
+<pre class="code">business =
+	LOAD '/user/hive/warehouse/business/yelp_academic_dataset_business_clean.json'
+	AS (business_id: CHARARRAY, categories: CHARARRAY, city: CHARARRAY, full_address: CHARARRAY,
+    	latitude: FLOAT, longitude: FLOAT, name: CHARARRAY, neighborhoods: CHARARRAY,
+    	open: BOOLEAN, review_count: INT, stars: FLOAT, state: CHARARRAY, type: CHARARRAY);
+
+business_group =
+  GROUP business
+  BY city;
+
+business_by_city =
+  FOREACH business_group
+  GENERATE group, COUNT(business) AS ct;
+
+top =
+	ORDER business_by_city
+	BY ct DESC;
+
+top_25 = LIMIT top 25;
+
+DUMP top_25;</pre>
+
+## What’s Next?
+
+New features like support for [Python UDF][8]s and better integration with Apache Oozie and [File Browser][9] are on the way. As usual, we welcome all [feedback][10]!
+
+ [1]: http://cloudera.github.com/hue/
+ [2]: http://hadoop.apache.org/
+ [3]: http://blog.cloudera.com/blog/2013/04/demo-analyzing-data-with-hue-and-hive/
+ [4]: http://pig.apache.org/
+ [5]: http://cloudera.github.io/hue/docs-2.3.0/release-notes/release-notes-2.3.0.html
+ [6]: https://github.com/romainr/yelp-data-analysis#yelp-data-analysis-with-hue
+ [7]: http://blog.cloudera.com/2013/04/demo-analyzing-data-with-hue-and-hive/
+ [8]: https://issues.cloudera.org/browse/HUE-1136
+ [9]: http://blog.cloudera.com/2013/04/demo-hdfs-file-operations-made-easy-with-hue/
+ [10]: http://groups.google.com/a/cloudera.org/group/hue-user

+ 77 - 0
docs/gethue/content/posts/2013-06-11-hue-2-4-is-released.md

@@ -0,0 +1,77 @@
+---
+title: Hue 2.4 is released!
+author: admin
+type: post
+date: 2013-06-11T04:00:00+00:00
+url: /hue-2-4-is-released/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/52904410987/hue-2-4-is-released
+tumblr_gethue_id:
+  - 52904410987
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Release
+
+---
+<span>Hi Elephant Lovers,</span>
+
+<span> </span>
+
+<span>The Hue team is pleased to bring you Hue 2.4.0, available for download as a </span> <a class="trackLink" href="https://cdn.gethue.com/downloads/releases/2.4.0/hue-2.4.0.tgz" target="_blank" rel="noopener noreferrer">tarball here</a><span>.</span>
+
+<span> </span>
+
+<span>Hue 2.4.0 has a large number of fixes and usability improvements (291 commits) and comes with a new Search app. This new app integrates with Solr, Solr Cloud and Cloudera Search and lets you customize search results and facets.</span>
+
+<span> </span>
+
+<span>The new Search app is detailed in this </span><a href="http://gethue.tumblr.com/post/52804483421/demo-search-in-hue-2-4" target="_blank" rel="noopener noreferrer">blog post</a> <span>and </span><a href="https://vimeo.com/68257054" target="_blank" rel="noopener noreferrer">video</a><span>.</span>
+
+<span> </span>
+
+<span>Notable Fixes in 2.4:</span>
+
+  1. <a href="https://issues.cloudera.org/browse/HUE-1267" target="_blank" rel="noopener noreferrer"><span>HUE-1267</span></a> <span>[oozie] Import action from josub or a workflow</span>
+  2. <a href="https://issues.cloudera.org/browse/HUE-1304" target="_blank" rel="noopener noreferrer"><span>HUE-1304</span></a> <span>[oozie] More accurate workflow progress reporting</span>
+  3. <a href="https://issues.cloudera.org/browse/HUE-1303" target="_blank" rel="noopener noreferrer"><span>HUE-1303</span></a> <span>[metastore] Create a new table wizard uses CTRL+A</span>
+  4. <a href="https://issues.cloudera.org/browse/HUE-1296" target="_blank" rel="noopener noreferrer"><span>HUE-1296</span></a> <span>[impala] Support parameterized queries</span>
+  5. <a href="https://issues.cloudera.org/browse/HUE-1255" target="_blank" rel="noopener noreferrer"><span>HUE-1255</span></a> <span>[beeswax] Fix show all the queries history toggling</span>
+  6. <span>[impala] Update hue.ini to point to HiveServer2 interface</span>
+  7. <span>[catalog] Rename Table Browser application to Metastore Manager</span>
+
+<span> </span>
+
+Please see the <a href="http://cloudera.github.com/hue/docs-2.4.0/release-notes/release-notes-2.4.0.html" target="_blank" rel="noopener noreferrer">release notes</a> for more information and the <a href="http://cloudera.github.io/hue/docs-2.4.0/" target="_blank" rel="noopener noreferrer">documentation</a>.
+
+<span>The github website has also been updated with screenshots:</span><http://gethue.com><span>.</span>
+
+<span>Thank you for all the </span><a href="http://groups.google.com/a/cloudera.org/group/hue-user" target="_blank" rel="noopener noreferrer"><span>bugs, suggestions, and feedback</span></a><span>!</span>

+ 134 - 0
docs/gethue/content/posts/2013-06-12-tutorial-search-hadoop-in-hue.md

@@ -0,0 +1,134 @@
+---
+title: Search Hadoop in Hue
+author: admin
+type: post
+date: 2013-06-12T18:33:00+00:00
+url: /tutorial-search-hadoop-in-hue/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/52804483421/tutorial-search-hadoop-in-hue
+tumblr_gethue_id:
+  - 52804483421
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Querying
+
+---
+<p id="docs-internal-guid-388e0995-305d-1ff0-9d32-60089c64749b">
+  <span>This post talks about Hue, a </span><a href="http://gethue.com">UI</a><span> for making Apache Hadoop easier to use.</span>
+</p>
+
+Coming in [Hue 2.4][1], on top of more than 150 fixes a new app was added: Search. You can now search Hadoop like you do with Google or Yahoo!. In addition a wizard lets you tweak the result snippets and tailors the search experience to your needs.
+
+<span>Here is a video demoing the querying and the results customization. The demo is based on the </span>[<span>Twitter Streaming</span>][2] <span>data collected with Apache Flume and indexed in real time.</span>
+
+<iframe src="https://player.vimeo.com/video/68257054?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Tutorial: Search Hadoop in Hue 2.4" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+<span>The new Hue Search app is adding an impressive list of features to the already enterprise grade, industry standard list of features Solr provides. More specifically, here are the most significant ones:</span>
+
+  * <span>Based on standard </span>[<span>Solr</span>][3] <span>and </span>[<span>Solr Cloud</span>][4]
+  * <span>Optimized for </span>[<span>Cloudera Search</span>][5] <span>for searching Hadoop</span>
+  * <span>Result snipped editor with live preview</span>
+  * <span>Field, range and date facets</span>
+  * <span>Sorting</span>
+  * <span>Highlighting</span>
+  * <span>Layout and functions templates</span>
+  * <span>Custom CSS/Javascript placeholders</span>
+
+&nbsp;
+
+<span>Code from Snippet Editor</span>
+
+<span>Here are the final templates used in the Hue Search app demo. They are used for customizing the look and feel of the search results. With this HTML and CSS, we inserted the index fields we wanted to display, added Twitter profile images, icons, links and changed the font and colors of the text.</span>
+
+&nbsp;
+
+<span>HTML from the Source tab</span>
+
+<pre class="code">&lt;div class="row-fluid"&gt;
+  &lt;div class="row-fluid"&gt;
+    &lt;div class="row-fluid"&gt;
+      &lt;div class="span1"&gt;
+        &lt;img src="http://twitter.com/api/users/profile_image/{{user_screen_name}}" class="avatar" /&gt;
+      &lt;/div&gt;
+      &lt;div class="span11"&gt;
+        &lt;a href="https://twitter.com/{{user_screen_name}}/status/{{id}}" class="btn openTweet"&gt;
+          &lt;i class="icon-twitter"&gt;&lt;/i&gt;
+        &lt;/a&gt;
+        &lt;b&gt;{{user_name}}&lt;/b&gt;
+        &lt;br/&gt;
+        {{text}}
+        &lt;br/&gt;
+        &lt;div class="created"&gt;{{#fromnow}}{{created_at}}{{/fromnow}}&lt;/div&gt;
+      &lt;/div&gt;
+    &lt;/div&gt;
+    &lt;br/&gt;
+  &lt;/div&gt;
+&lt;/div&gt;</pre>
+
+<span>CSS from the advanced tab</span>
+
+<pre class="code">&lt;style&gt;
+em {
+  font-weight: bold;
+  background-color: yellow;
+}
+
+.avatar {
+  margin: 10px;
+}
+
+.created {
+  margin-top: 10px;
+  color: #CCC;
+}
+
+.openTweet {
+  float: right;
+  margin: 10px;
+}
+&lt;/style&gt;</pre>
+
+&nbsp;
+
+The release for Hue 2.4 is available <a class="trackLink" href="https://cdn.gethue.com/downloads/releases/2.4.0/hue-2.4.0.tgz" target="_blank" rel="noopener noreferrer">here</a>.
+
+<span>The new Hue Search app is using the regular Solr API underneath the hood, yet adds a remarkable list of UI features that makes using search over data stored in Hadoop a breeze. It integrates with the other Hue apps like </span>[File Browser][6] <span>for looking at the index file in a few clicks. More advanced features are on the way like fine-grained security of indexes, multi-shard search or even saving results.</span>
+
+<span>We welcome any feedback on </span>[hue-user][7] <span>and Solr-specific requests on </span>[search-user][7]<span>!</span>
+
+ [1]: http://gethue.tumblr.com/post/52904410987/hue-2-4-is-released "Hue Hadoop UI"
+ [2]: https://dev.twitter.com/docs/streaming-apis
+ [3]: http://lucene.apache.org/solr/
+ [4]: http://wiki.apache.org/solr/SolrCloud
+ [5]: http://www.cloudera.com/content/support/en/documentation/cloudera-search/cloudera-search-documentation-v1-latest.html
+ [6]: http://blog.cloudera.com/blog/2013/04/demo-hdfs-file-operations-made-easy-with-hue/
+ [7]: blank

+ 94 - 0
docs/gethue/content/posts/2013-07-16-hue-2-5-and-its-hbase-app-is-out.md

@@ -0,0 +1,94 @@
+---
+title: Hue 2.5 and its HBase app is out!
+author: admin
+type: post
+date: 2013-07-16T05:59:00+00:00
+url: /hue-2-5-and-its-hbase-app-is-out/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/55581863077/hue-2-5-and-its-hbase-app-is-out
+tumblr_gethue_id:
+  - 55581863077
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Browsing
+  - Release
+
+---
+<p id="docs-internal-guid-351ecf2e-e60f-a608-483e-2500073de650">
+  <span>Hi Petabytes Crunchers,</span>
+</p>
+
+<span id="docs-internal-guid-0768643e-1223-5a03-20cc-6cb512e36ff6">The Hue team is pleased to bring you Hue 2.5, available as a </span>[<span>tarball</span>][1]{.trackLink} <span>release or as a ‘hue’ package in </span>[<span>CDH nightly</span>][2]<span>.</span>
+
+<span> </span>
+
+Please see the [release notes][3] for more information and the <a href="http://cloudera.github.io/hue/docs-2.5.0/" target="_blank" rel="noopener noreferrer">documentation</a>.
+
+<span> </span>
+
+<span>Hue 2.5 brings a new app for HBase and more than 80 commits. The HBase Browser application is tailored for quickly browsing huge tables and accessing any content. You can also create new tables, add data, modify existing cells and filter data with the auto-completing search bar.</span>
+
+<p id="docs-internal-guid-0768643e-1223-7d5c-1b2c-0694b76a2d99">
+  <span>Here is a video summary of the new features:</span>
+</p>
+
+<span>Notable Fixes:</span>
+
+  * [<span>HUE-1135</span>][4] <span>[pig] Options support</span>
+  * [<span>HUE-1115</span>][5] <span>[impala] Support multi db</span>
+  * [<span>HUE-641</span>][6] <span>[jb] Auto-refresh the Job Browser views</span>
+  * [<span>HUE-1150</span>][7] <span>[pig] Links to inputs/outputs/MR jobs</span>
+  * [<span>HUE-1256</span>][8] <span>[core] Cache the HA jt</span>
+  * [<span>HUE-1321</span>][9] <span>[oozie] Improved import workflow</span>
+
+&nbsp;
+
+<span>The github website has also been updated with screenshots and a video gallery: </span><http://gethue.com><span>.</span>
+
+<span> </span>
+
+<span id="docs-internal-guid-0768643e-1223-9198-1d84-c7ebd87794ae">Thank you for all the</span> [bugs, suggestions, and feedback][10] <span>and stay tuned, a new video series is beginning!</span>
+
+<span>The Hue team</span>
+
+&nbsp;
+
+ [1]: https://cdn.gethue.com/downloads/releases/2.5.0/hue-2.5.0.tgz
+ [2]: http://nightly.cloudera.com/cdh4/
+ [3]: http://cloudera.github.com/hue/docs-2.5.0/release-notes/release-notes-2.5.0.html
+ [4]: https://issues.cloudera.org/browse/HUE-1135
+ [5]: https://issues.cloudera.org/browse/HUE-1115
+ [6]: https://issues.cloudera.org/browse/HUE-641
+ [7]: https://issues.cloudera.org/browse/HUE-1150
+ [8]: https://issues.cloudera.org/browse/HUE-1256
+ [9]: https://issues.cloudera.org/browse/HUE-1321
+ [10]: http://groups.google.com/a/cloudera.org/group/hue-user

+ 150 - 0
docs/gethue/content/posts/2013-07-29-hadoop-tutorial-how-to-access-hive-in-pig-with.md

@@ -0,0 +1,150 @@
+---
+title: How to access Hive in Pig with HCatalog in Hue
+author: admin
+type: post
+date: 2013-07-29T19:25:00+00:00
+url: /hadoop-tutorial-how-to-access-hive-in-pig-with/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/56804308712/hadoop-tutorial-how-to-access-hive-in-pig-with
+tumblr_gethue_id:
+  - 56804308712
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Browsing
+  - Querying
+
+---
+<p id="docs-internal-guid-058adb35-2bdf-a121-9dad-1fb68e2c56c5">
+  <span>This blog post is about accessing the Hive Metastore from Hue, the open source </span><a href="http://gethue.com"><span>Hadoop UI</span></a><span> and clearing up some confusion about HCatalog usage.</span>
+</p>
+
+<iframe src="https://player.vimeo.com/video/71024770?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop tutorial: how to use HCatalog in Hue" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+# <span>What is HCatalog?</span>
+
+<a href="http://hive.apache.org/docs/hcat_r0.5.0/" target="_blank" rel="noopener noreferrer">Apache HCatalog</a> is a project enabling non-Hive scripts to access Hive tables. You can then directly load tables with Pig or MapReduce without having to worry about re-defining the input schemas, caring about the data location or duplicating it.
+
+&nbsp;
+
+<span>Hue comes with an application for accessing the Hive metastore within your browser: Metastore Browser. Databases and tables can be navigated through and created or deleted with some wizards.</span>
+
+&nbsp;
+
+<span>The wizards were demonstrated in the previous tutorial about how to </span>[<span>Analyse Yelp data</span>][1]<span>. Hue uses </span>[<span>HiveServer2</span>][2] <span>for accessing the Hive Metastore instead of HCatalog. This is because HiveServer2 is the new secure and multi concurrent server for Hive and it already includes a fast Hive Metastore API.</span>
+
+&nbsp;
+
+<span>HCatalog connectors are however useful for accessing Hive data from Pig. Here is a demo about accessing the Hive example tables from the </span>[<span>Pig Editor</span>][3]<span>.</span>
+
+&nbsp;
+
+<span>Here is a video summary of the new features:</span>
+
+&nbsp;
+
+# <span>Tutorial</span>
+
+<span>First you need to install HCatalog from </span>[<span>here</span>][4] <span>or Cloudera Manager. If you are using a non-pseudo-distributed cluster (e.g. not on a demo VM) make sure that the Hive Metastore is </span>[<span>remote</span>][5] <span>or you will have an error like below. Then, upload the 3 jars from /usr/lib/hcatalog/share/hcatalog/ and all the Hive ones from /usr/lib/hive/lib to the Oozie Pig sharelib in /user/oozie/share/lib/pig. This can be done in a few clicks while being logged as ‘oozie’ or ‘hdfs’ in the File Browser. Beware than all the jars will be included in all the future Pig script, which might be unnecessary.</span>
+
+&nbsp;
+
+**Update!**
+
+In Hue 3.6 or CDH5, no need to copy the jars anymore. Just include the hive-site.xml file as File in the Properties of the script, e.g, /user/test/hive-site.xml
+
+&nbsp;
+
+<span>Then make sure the Beeswax examples are installed (Step #2 in the Quick Start Wizard) and open up the Pig Editor and compute the </span>[<span>average salary</span>][6] <span>in the table (equivalent of this Hive </span>[<span>query</span>][7]<span>):</span>
+
+&nbsp;
+
+<pre class="code">-- Load table 'sample_07'
+sample_07 = LOAD 'sample_07' USING org.apache.hcatalog.pig.HCatLoader();
+
+-- Compute the average salary of the table
+salaries = GROUP sample_07 ALL;
+out = FOREACH salaries GENERATE AVG(sample_07.salary);
+DUMP out;</pre>
+
+&nbsp;
+
+<span>As HCatalog needs to access the metastore, we need to specify the hive-site.xml. Go in ‘Properties’, ‘Resources’ and add a ‘File’ pointing to the hive-site.xml uploaded on HDFS.</span>
+
+&nbsp;
+
+<span>Then submit the script by pressing CTRL + ENTER! The result (47963.62637362637)</span>
+
+<span>will appear at the end of the log output.</span>
+
+&nbsp;
+
+<span>Notice that we don’t need to redefine the schema as it is automatically picked-up by the loader. If you use the Oozie App, you can now freely use HCatalog in your Pig actions.</span>
+
+&nbsp;
+
+**Warning!**
+
+<span>If you are getting this error, it means that your metastore belong to the Hive user and is not remote. </span>
+
+<pre class="code">Cannot get a connection, pool error Could not create a validated object, cause: A read-only user or a user in a read-only database is not permitted to disable read-only mode on a connection.
+
+2013-07-24 23:20:04,969 [main] INFO  DataNucleus.Persistence  - DataNucleus Persistence Factory initialised for datastore URL="jdbc:derby:;databaseName=/var/lib/hive/metastore/metastore_db;create=true" driver="org.apache.derby.jdbc.EmbeddedDriver" userName="APP"</pre>
+
+&nbsp;
+
+<pre class="code">sudo rm /var/lib/hive/metastore/metastore_db/*lck
+sudo chmod 777 -R /var/lib/hive/metastore/metastore_db</pre>
+
+&nbsp;
+
+<span>Similarly as HCatLoader, use </span>[<span>HCatStorer</span>][8] <span>for updating back the table, e.g.:</span>
+
+<pre class="code">STORE alias INTO 'sample_07' USING org.apache.hcatalog.pig.HCatStorer();</pre>
+
+&nbsp;
+
+# <span>Summary</span>
+
+<span>We saw that Hue makes Hive Metastore easy to access and supports the HCatalog connectors for Pig. Hue 3.0 with simplify it even more by automatically copying the required jar files and making the table names </span>[<span>auto-completable</span>][9]<span>!</span>
+
+<span>As usual, we welcome any feedback on the </span>[<span>user group</span>][10]<span>!</span>
+
+ [1]: http://blog.cloudera.com/blog/2013/04/demo-analyzing-data-with-hue-and-hive/
+ [2]: http://blog.cloudera.com/blog/2013/07/how-hiveserver2-brings-security-and-concurrency-to-apache-hive/
+ [3]: http://gethue.tumblr.com/post/51559235973/tutorial-apache-pig-editor-in-hue-2-3
+ [4]: http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Installation-Guide/cdh4ig_topic_19.html
+ [5]: http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Installation-Guide/cdh4ig_hive_metastore_configure.html
+ [6]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/hcatalog/avg_salary.pig
+ [7]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/hcatalog/avg_salary.hql
+ [8]: http://hive.apache.org/docs/hcat_r0.5.0/loadstore.html#HCatStorer
+ [9]: https://issues.cloudera.org/browse/HUE-1409
+ [10]: http://groups.google.com/a/cloudera.org/group/hue-user

+ 158 - 0
docs/gethue/content/posts/2013-08-09-hadoop-tutorial-high-availability-of-hue.md

@@ -0,0 +1,158 @@
+---
+title: High Availability of Hue
+author: admin
+type: post
+date: 2013-08-09T20:23:00+00:00
+url: /hadoop-tutorial-high-availability-of-hue/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/57817118455/hadoop-tutorial-high-availability-of-hue
+tumblr_gethue_id:
+  - 57817118455
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Administration
+
+---
+##
+
+# <span style="color: #ff0000;">Note:</span> as of January 2015 in Hue master or CDH5.4, this post is deprecated by [Automatic High Availability with Hue and Cloudera Manager][1].
+
+&nbsp;
+
+&nbsp;
+
+<p id="docs-internal-guid-1f271c26-6489-5d99-0b37-adf2a481556e">
+  Very few projects within the Hadoop umbrella have as much end user visibility as <a href="http://www.gethue.com">Hue</a>. Thus, it is useful to add a degree of fault tolerance to deployments. This blog post describes how to achieve a <a href="http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-High-Availability-Guide/CDH4-High-Availability-Guide.html">higher level of availability</a> (HA) by placing several Hue instances behind a load balancer.
+</p>
+
+# Tutorial
+
+This tutorial demonstrates how to setup high availability by:
+
+  1. Installing Hue 2.3 on two nodes in a three-node RedHat 5 cluster.
+  2. Managing all Hue instances via [Cloudera Manager 4.7][2].
+  3. Load balancing using [HA Proxy 1.4][3]. In reality, any load balancer with sticky sessions should work.
+
+Here is a video summary of the new features:
+
+## Installing Hue
+
+Hue should be installed on two of the three nodes. To have Cloudera Manager automatically install Hue, follow the “Parcel Install via Cloudera Manager” section. To install manually, follow the “Package Install” section.
+
+### Parcel Install via Cloudera Manager
+
+For more information on Parcels, see [Managing Parcels][4].
+
+  1. From Cloudera Manager, click on “Hosts” in the menu. Then, go to the “Parcels” section.
+  2. Find the latest CDH parcel, click “Download”.
+  3. Once the parcel has finished downloading, click “Distribute”.
+  4. Once the parcel has finished distributing, click “Activate”.
+
+### Package Install
+
+  1. Download the yum repository [RPM][5].
+  2. Install the yum repository using “sudo yum —nogpgcheck localinstall cloudera-cdh-4-0.x86_64.rpm”. For more information, see [Installing CDH4][6].
+  3. Install Hue on each node using the command “sudo yum install hue” via the command line interface. For more information on installing Hue, see [CDH documentation][7].
+
+## Managing Hue through Cloudera Manager
+
+Cloudera Manager provides management of the Hue servers on each node. Add two Hue services using the directions below. For more information on managing services, see the [Cloudera Manager documentation][8].
+
+  1. Go to “Services -> All Services” in the menu.
+  2. Click “Actions -> Add a Service”.
+  3. Select “Hue” and follow the steps on the screen. NOTE: For each Hue service we choose a unique host.
+  4. Ensure that the “Jobsub Examples and Templates Directory” configuration points to different directories in HDFS for each Hue service. It can be changed by going to Services -> <hue service>. In the menu, go to Configuration -> View and Edit. Then, click on “Hue Server”. “Jobsub Examples and Templates Directory” should be at the bottom of the page.
+
+<img src="https://lh4.googleusercontent.com/ay9RnIloyJJl35yKC2j5OUEcrZLqnBqpQsFSNwH8NVXCReSYHDqfo1GT47zGRtStpUEVCQxblg81eDDqPpFihFSF3oo-qNPlfwctdfo2rUczACFZn-dB_Jdg" alt="image" width="637px;" height="355px;" />
+
+Image 1: Cloudera Manager handling two Hue services.
+
+## HA Proxy Installation/Configuration
+
+  1. Download and unzip the [binary distribution][9] of [HA Proxy 1.4][3] on the node that doesn’t have Hue installed.
+  2. Add the following [HA Proxy configuration][10] to /tmp/hahue.conf:
+
+<pre class="code">global
+    daemon
+    nbproc 1
+    maxconn 100000
+    log 127.0.0.1 local6 debug
+
+defaults
+    option http-server-close
+    mode http
+    timeout http-request 5s
+    timeout connect 5s
+    timeout server 10s
+    timeout client 10s
+
+listen Hue 0.0.0.0:80
+    log global
+    mode http
+    stats enable
+    balance source
+    server hue1 servera.cloudera.com:8888 cookie ServerA check inter 2000 fall 3
+    server hue2 serverb.cloudera.com:8888 cookie ServerB check inter 2000 fall 3</pre>
+
+  1. Start HA Proxy:
+
+<pre class="code">haproxy -f /tmp/hahue.conf</pre>
+
+<p id="docs-internal-guid-4a17af8b-64c3-f48b-5c2b-591bad8b0e01">
+  The key configuration options are <a href="http://cbonte.github.io/haproxy-dconv/configuration-1.4.html#4-balance">balance</a> and <a href="http://cbonte.github.io/haproxy-dconv/configuration-1.4.html#4-server">server</a> in the <a href="http://cbonte.github.io/haproxy-dconv/configuration-1.4.html#4">listen</a> section. When the balance parameter is set to source, a client is guaranteed to communicate with the same server every time it makes a request. If the server the client is communicating with goes down, the request will automatically be sent to another active server. This is necessary because Hue stores session information in process memory. The server parameters define which servers will be used for load balancing and takes on the form:
+</p>
+
+<pre class="code">server  [:port] [settings ...]</pre>
+
+In the configuration above, the server “hue1” is available at “servera.cloudera.com:8888” and “hue2” is available at “serverb.cloudera.com:8888”. Both servers have health checks every two seconds and are declared down after three failed health checks. In this example, HAProxy is configured to bind to “0.0.0.0:80”. Thus, Hue should now be available at “http://serverc.cloudera.com”.
+
+&nbsp;
+
+# Conclusion
+
+<p id="docs-internal-guid-4a17af8b-64c4-3d2c-f686-326bc47cee5a">
+  Hue can be load balanced easily as long as the server a client is directed to is constant (i.e.: sticky sessions). It can improve performance, but the primary goal is high availability. Also, multiple Hue instances can be easily managed through Cloudera Manager. For true High Availability, Hue needs to be configured to use HA <a href="http://dev.mysql.com/doc/refman/5.0/en/ha-overview.html">MySQL</a>, <a href="http://www.postgresql.org/docs/8.3/static/high-availability.html">PostGreSQL</a>, or <a href="http://docs.oracle.com/cd/E25054_01/server.1111/e17157/architectures.htm#i1007752">Oracle</a>.
+</p>
+
+Coming up, there will be a blog post on JobTracker HA with Hue. Have any suggestions? Feel free to tell us what you think through[hue-user][11].
+
+ [1]: https://gethue.com/automatic-high-availability-with-hue-and-cloudera-manager/ "Automatic High Availability with Hue and Cloudera Manager"
+ [2]: http://www.cloudera.com/content/cloudera/en/products/cloudera-manager.html
+ [3]: http://haproxy.1wt.eu/
+ [4]: http://www.cloudera.com/content/cloudera-content/cloudera-docs/CM4Ent/4.5.1/Cloudera-Manager-Enterprise-Edition-User-Guide/cmeeug_topic_7_11.html
+ [5]: http://archive.cloudera.com/cdh4/one-click-install/redhat/5/x86_64/cloudera-cdh-4-0.x86_64.rpm
+ [6]: http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Installation-Guide/cdh4ig_topic_4_4.html?scroll=topic_4_4_1_unique_1__p_32_unique_1
+ [7]: http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Installation-Guide/cdh4ig_topic_15.html
+ [8]: http://www.cloudera.com/content/cloudera-content/cloudera-docs/CM4Free/4.5.1/Cloudera-Manager-Free-Edition-User-Guide/cmfeug_topic_5_1.html
+ [9]: http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.24.tar.gz
+ [10]: http://cbonte.github.io/haproxy-dconv/configuration-1.4.html
+ [11]: https://groups.google.com/a/cloudera.org/forum/?fromgroups#!forum/hue-user

+ 156 - 0
docs/gethue/content/posts/2013-08-13-hadoop-tutorial-how-to-create-example-tables-in-hbase.md

@@ -0,0 +1,156 @@
+---
+title: How to create example tables in HBase
+author: admin
+type: post
+date: 2013-08-13T21:40:00+00:00
+url: /hadoop-tutorial-how-to-create-example-tables-in-hbase/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/58181985680/hadoop-tutorial-how-to-create-example-tables-in-hbase
+tumblr_gethue_id:
+  - 58181985680
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+ampforwp-amp-on-off:
+  - default
+categories:
+  - Browsing
+
+---
+<p id="docs-internal-guid-7c74e5e3-7999-5a0b-77ef-ac77803cb105">
+  <a href="http://gethue.tumblr.com/post/55581863077/hue-2-5-and-its-hbase-app-is-out">Hue</a> brings another new app for making Apache Hadoop easier to use: HBase Browser. <a href="http://hbase.apache.org/">Apache HBase</a> is the main keyvalue datastore for Hadoop. This post is the first episode describing the new user experience brought by the app. We will start by describing how to create some sample tables with various HBase schemas.
+</p>
+
+To help getting started with HBase, Hue now comes directly with theses examples! Just got to Hue on the [/about/][1] page and on Step 2 click on HBase and Hue will install them for you:
+
+<p style="text-align: center;">
+  <a href="https://cdn.gethue.com/uploads/2013/08/Screenshot-from-2014-04-09-082900.png"><img class=" wp-image-1116 aligncenter" src="https://cdn.gethue.com/uploads/2013/08/Screenshot-from-2014-04-09-082900.png" alt="Screenshot from 2014-04-09 08:29:00" width="484" height="419"  /></a>
+</p>
+
+If you want to see the HBase Browser demo, jump [episode 2][2]!
+
+<iframe src="https://player.vimeo.com/video/72200782?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop Tutorial: how to create example tables in HBase" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+# Tutorial
+
+When building the new HBase Browser, we wanted to test the app against various HBase tables. It happened to be difficult to find some ready to play with schema and data to load. Hence, base on the most common uses cases, we created our own HBase schemas and decided to share them in order to help anybody wanting to start with HBase.
+
+This how-to describes how to create a very simple table that counts the daily number of votes for certain candidates and get you warmed-up. Then part 2 focuses on creating a HBase table  with lot of columns and part 3 about inserting and visualizing binary data.
+
+# Setup
+
+The HBase Browser application is tailored for quickly browsing huge tables and accessing any content. You can also create new tables, add data, modify existing cells and filter data with the autocompleting search bar.
+
+The first step is to install HBase in your Hadoop cluster. We recommend to use the CDH [packages][3]. HBase Browser requires the [Thrift 1 service][4] to be started.
+
+Then, grab the app from a special tarball [release][5]{.trackLink} of Hue or get the latest and slickest version from the [nightly ‘hue’ package][6]. CDH 4.4 (target date early September) will bring a stable v1. After the installation, if HBase master is not running on the same host as Hue, have the app pointing to it by updating the [hue.ini][7] and restarting Hue.
+
+Then go to <http://127.0.0.1:8888/hbase/> to check that all is setup correctly! We show in the video how to create a table and add some columns in just a few clicks. In the next steps, we are showing how to create and populate a real life example table.
+
+The sample data and scripts are published on [github][8]. In a terminal, use [git][9] to retrieve the repository:
+
+<pre class="code">cd /tmp
+git clone <a href="https://github.com/romainr/hadoop-tutorials-examples.git">https://github.com/romainr/hadoop-tutorials-examples.git</a>
+cd hbase-tables</pre>
+
+# Analytics table
+
+The goals of this data is to show the search and smart layout of HBase Browser.
+
+This table contains more than 1000 columns of text. The idea is to have counters for 3 Web domains of 3 countries for each hour of the day. The data is then aggregated by day and for all the countries.
+
+<img src="https://lh6.googleusercontent.com/6ETWVbvV06zSHbrDglMlqaMfJB-HMrHpJYF27xTFbbQB88jdKRSlVCIjkYl0EYRFFm31iCp-PN-7q7_cNBKQd_820Cqkv674V7e9MPV00N_T_nGm7jv2R_O8" alt="image" width="800px;" height="88px;" />
+
+Schema of the table
+
+How to create the HBase table and insert some data:
+
+  1. Generate column names and data with [create_schemas.py][10]. Run it with ./create_schemas.py
+  2. Upload the date data /tmp/hbase-analytics.tsv to HDFS with File Browser
+  3. In HBase Browser create a ‘analytics’ table with 3 column families ‘hour’, ‘day’, ‘total’
+  4. Load the data into the analytics table with the [HBase bulk import command][11].
+
+It will trigger a MapReduce job and display the [progress][12] of the import.
+
+That’s it! Go open the analytics table in [HBase Browser][13]!
+
+# Binary table
+
+This second tables focus on big data cells, various formats, demonstrating the preview and editing of data within HBase Browser.
+
+We are re-using the app API for inserting into HBase some cells of various content types, e.g. text, json, pictures, binary…
+
+  1. First create a table ‘events’ with a column family ‘doc’.
+  2. Then cd in the root of Hue
+  3. cd /usr/share/hue
+  4. /opt/cloudera/parcels/CDH-4.X/share/hue (if using parcels)
+
+And start the Hue shell build/env/bin/hue shell and type the content of [locad_binary.py:][14]
+
+Load the HBase API and insert some text data:
+
+<pre class="code">from hbase.api import HbaseApi
+
+HbaseApi().putRow('Cluster', 'events', 'hue-20130801', {'doc:txt': 'Hue is awesome!'})
+HbaseApi().putRow('Cluster', 'events', 'hue-20130801', {'doc:json': '{"user": "hue", "coolness": "extra"}'})
+HbaseApi().putRow('Cluster', 'events', 'hue-20130802', {'doc:version': 'I like HBase'})
+HbaseApi().putRow('Cluster', 'events', 'hue-20130802', {'doc:version': 'I LOVE HBase'})</pre>
+
+Then insert a picture, and HTML page and a PDF:
+
+<pre class="code">root='/tmp/hadoop-tutorials-examples'
+
+HbaseApi().putRow('Cluster', 'events', 'hue-20130801', {'doc:img': open(root + '/hbase-tables/data/hue-logo.png', "rb").read()})
+HbaseApi().putRow('Cluster', 'events', 'hue-20130801', {'doc:html': open(root + '/hbase-tables/data/gethue.com.html', "rb").read()})
+HbaseApi().putRow('Cluster', 'events', 'hue-20130801', {'doc:pdf': open(root + '/hbase-tables/data/gethue.pdf', "rb").read()})</pre>
+
+Notice that the column names do not matter for the type detection. The go look at the [events][15] table and play around!
+
+# Conclusion
+
+These two schemas and data enable the user to easily get started with HBase. This first version of HBase Browser brings a new way to quickly explore and search for some rows and columns. New versions will support bulk loads and upload in order to completely free the user from the command line.
+
+The new HBase Browser app will be demo-ed on these two tables in the upcoming blog posts, so stay tuned!
+
+ [1]: http://127.0.0.1:8888/about/
+ [2]: https://gethue.com/the-web-ui-for-hbase-hbase-browser/
+ [3]: http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Installation-Guide/cdh4ig_topic_20_2.html
+ [4]: http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Installation-Guide/cdh4ig_topic_20_5.html#topic_20_5_4_unique_1
+ [5]: https://cdn.gethue.com/downloads/releases/hbase/hue-hbase-2.5.0.tgz
+ [6]: http://nightly.cloudera.com/cdh4/
+ [7]: https://github.com/cloudera/hue/blob/master/desktop/conf.dist/hue.ini#L505
+ [8]: https://github.com/romainr/hadoop-tutorials-examples/tree/master/hbase-tables
+ [9]: http://git-scm.com/
+ [10]: https://raw.github.com/romainr/hadoop-tutorials-examples/master/hbase-tables/create_schemas.py
+ [11]: https://raw.github.com/romainr/hadoop-tutorials-examples/master/hbase-tables/load_data.sh
+ [12]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/hbase-tables/load_data.log
+ [13]: http://127.0.0.1:8888/hbase/#Cluster/analytics
+ [14]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/hbase-tables/load_binary.py
+ [15]: http://127.0.0.1:8888/hbase/#Cluster/events

+ 127 - 0
docs/gethue/content/posts/2013-08-19-hadoop-tutorial-hive-udf-in-1-minute.md

@@ -0,0 +1,127 @@
+---
+title: Hive UDF in 1 minute!
+author: admin
+type: post
+date: 2013-08-19T17:57:00+00:00
+url: /hadoop-tutorial-hive-udf-in-1-minute/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/58711590309/hadoop-tutorial-hive-udf-in-1-minute
+tumblr_gethue_id:
+  - 58711590309
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Querying
+
+---
+<p id="docs-internal-guid-7f706b2a-97b5-9a0c-5dff-ae0ff0c1eaad">
+  Apache Hive comes with a lot of <a href="https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#">built-in</a> UDFs, but what happens when you need a “special one”? This post is about how to get started with a custom Hive UDF from compilation to execution in no time.
+</p>
+
+&nbsp;
+
+<iframe src="https://player.vimeo.com/video/72200781?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop tutorial: build and use Hive UDF in 1 minute!" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+&nbsp;
+
+# Let’s go!
+
+Our goal is to create a UDF that transforms its input to upper case. All the code is available in our public repository of [Hadoop examples and tutorials][1].
+
+If you want to go even faster, the UDF is already precompiled [here][2].
+
+If not, checkout the [code][3]:
+
+<pre class="code">git clone <a href="https://github.com/romainr/hadoop-tutorials-examples.git">https://github.com/romainr/hadoop-tutorials-examples.git</a>
+cd hive-udf</pre>
+
+And compile the UDF (Java and Hive need to be installed):
+
+<pre class="code">javac -cp $(ls /usr/lib/hive/lib/hive-exec*.jar):/usr/lib/hadoop/hadoop-common.jar org/hue/udf/MyUpper.java
+
+jar -cf myudfs.jar  -C . .</pre>
+
+&nbsp;
+
+Or use Maven with our [pom.xml][4] that will automatically pull the dependent jars
+
+<pre class="code">mvn install</pre>
+
+&nbsp;
+
+# Register the UDF in the Hive Editor
+
+Then open up Beeswax in the [Hadoop UI Hue][5], click on the 'Settings' tab.
+
+In File Resources, upload _<span class="code">myudfs.jar</span>_, pick the jar file and point to it, e.g.:
+
+{{< highlight bash >}}/user/hue/myudf.jar{{< /highlight >}}
+
+Make the UDF available by registering a UDF (User Defined Function ):
+
+Name
+
+{{< highlight bash >}}myUpper{{< /highlight >}}
+
+Class
+
+{{< highlight bash >}}org.hue.udf.MyUpper{{< /highlight >}}
+
+&nbsp;
+
+**That’s it**! Just test it on one of the Hue example tables:
+
+{{< highlight sql >}}select myUpper(description) FROM sample_07 limit 10{{< /highlight >}}
+
+# Summary
+
+We are using the most common type of UDF. If you want to learn more in depth about the other ones, some great resources like the [Hadoop Definitive][6] guide are available. Notice that adding a jar loads it for the entirety of the session so you don’t need to load it again. Next time we will demo how to create a Python UDF for Hive!
+
+&nbsp;
+
+Have any questions? Feel free to contact us on [hue-user][7] or [@gethue][8]!
+
+&nbsp;
+
+**Note**:
+
+If you did not register the UDF as explained above, you will get this error:
+
+{{< highlight bash >}}error while compiling statement: failed: parseexception line 1:0 cannot recognize input near 'myupper' " "{{< /highlight >}}
+
+ [1]: https://github.com/romainr/hadoop-tutorials-examples
+ [2]: https://github.com/romainr/hadoop-tutorials-examples/raw/master/hive-udf/myudfs.jar
+ [3]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/hive-udf/org/hue/udf/MyUpper.java
+ [4]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/hive-udf/pom.xml
+ [5]: http://gethue.com
+ [6]: https://www.inkling.com/read/hadoop-definitive-guide-tom-white-3rd/chapter-12/ch12-section-08
+ [7]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [8]: https://twitter.com/gethue

+ 103 - 0
docs/gethue/content/posts/2013-08-22-nosql-2013-hue-starting-point-for-exploration-and.md

@@ -0,0 +1,103 @@
+---
+title: 'NoSql 2013, Hue: Starting Point for Exploration and Real Time Interaction with Hadoop'
+author: admin
+type: post
+date: 2013-08-22T23:45:00+00:00
+url: /nosql-2013-hue-starting-point-for-exploration-and/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/59052703222/nosql-2013-hue-starting-point-for-exploration-and
+tumblr_gethue_id:
+  - 59052703222
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - News
+format: link
+
+---
+[NoSql 2013, Hue: Starting Point for Exploration and Real Time Interaction with Hadoop][1]
+
+<div class="link_description">
+  <blockquote class="link_og_blockquote">
+    <div>
+      Hue: Starting Point for Exploration and Real Time Interaction with Hadoop
+    </div>
+  </blockquote>
+
+  <p class="sessiontitleblue">
+    Thursday, August 22, 2013
+  </p>
+
+  <p class="sessiontitleblue">
+    11:15 AM - 11:45 AM
+  </p>
+
+  <p>
+    Level:  <strong>Technical - Introductory</strong>
+  </p>
+
+  <p>
+    Apache Hadoop opens up many data crunching possibilities to the enterprise but also brings a lot of complexity: job and query management, XML configurations, file operations… take place on the command line or in high learning curve BI tools.
+  </p>
+
+  <div class="popsess">
+    <p>
+      Hue, an open source web-based interface, aims to provide a better Hadoop user experience.
+    </p>
+
+    <p>
+      This talks describes how to achieve various common tasks for an ETL kind of workload on Hadoop, along with real-time exploration of data and results - all through the user friendly interface of Hue.
+    </p>
+
+    <ul>
+      <li>
+        Hadoop
+      </li>
+      <li>
+        Hive
+      </li>
+      <li>
+        Impala
+      </li>
+      <li>
+        Oozie
+      </li>
+      <li>
+        Pig
+      </li>
+      <li>
+        Web application
+      </li>
+    </ul>
+  </div>
+</div>
+
+ [1]: http://nosql2013.dataversity.net/sessionPop.cfm?confid=74&proposalid=5516

+ 76 - 0
docs/gethue/content/posts/2013-08-22-y-hug-august-2013-hue-the-hadoop-ui.md

@@ -0,0 +1,76 @@
+---
+title: 'Y! HUG August 2013,  Hue: the Hadoop UI'
+author: admin
+type: post
+date: 2013-08-22T05:44:00+00:00
+url: /y-hug-august-2013-hue-the-hadoop-ui/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/58987565975/y-hug-august-2013-hue-the-hadoop-ui
+tumblr_gethue_id:
+  - 58987565975
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - News
+format: link
+
+---
+[Y! HUG August 2013, Hue: the Hadoop UI][1]
+
+<div class="link_description">
+  <blockquote class="link_og_blockquote">
+    <div>
+      Hue: the Hadoop UI with tutorials.
+    </div>
+  </blockquote>
+
+  <p>
+    <strong>Session II: Hue: the UI for Apache Hadoop</strong>
+  </p>
+
+  <p>
+    <a href="http://gethue.com">Hue</a> is an open source, Web-based interface that makes Apache Hadoop easier to use. Hue’s target is the Hadoop user experience and lets users focus on quick data processing. Hue is a mature Web project that integrates into a single UI the Hadoop components and their main satellite projects.<br /> This talk describes how Hue’s apps like File Browser and Job Browser let you list, move, upload HDFS files or access job logs in a few clicks. Workflows can be built and scheduled repetitively with some drag & drop interfaces and wizards, without having to deal with any Oozie XML.<br /> Hue comes with three editors: Hive, Pig and Impala. Each editor improves readability and productivity by providing cool features like syntax highlighting. Some other apps let you customize Solr search results, browse HBase tables or submit Sqoop jobs. Moreover, Hue comes with a SDK for letting developers reuse its libraries and start building apps on top of Hadoop.<br /> To sum-up, attendees of this talk will learn how Hue can open their Hadoop user base and why it is the ideal client for getting familiar or using the platform.
+  </p>
+
+  <p>
+    <strong>Speaker:</strong><span> </span><em>Romain Rigaux, Software Engineer, Cloudera</em>
+  </p>
+
+  <p>
+    Slides: <a href="http://www.slideshare.net/RomainRigaux/y-hug-hue-the-hadoop-ui">http://www.slideshare.net/RomainRigaux/y-hug-hue-the-hadoop-ui</a>
+  </p>
+
+  <p>
+    <a href="http://www.meetup.com/hadoop/events/83189552/">http://www.meetup.com/hadoop/events/83189552/</a>
+  </p>
+</div>
+
+ [1]: http://www.youtube.com/watch?v=jqx87zXY6qA&feature=youtu.be

+ 196 - 0
docs/gethue/content/posts/2013-08-23-the-web-ui-for-hbase-hbase-browser.md

@@ -0,0 +1,196 @@
+---
+title: 'The Web UI for HBase: HBase Browser'
+author: admin
+type: post
+date: 2013-08-23T03:28:00+00:00
+url: /the-web-ui-for-hbase-hbase-browser/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/59071544309/the-web-ui-for-hbase-hbase-browser
+tumblr_gethue_id:
+  - 59071544309
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Browsing
+
+---
+<p id="docs-internal-guid-22828246-a92a-294b-6fce-77a2305b7a80">
+  In this post, we’ll take a look at the new HBase Browser App added in Hue 2.5.
+</p>
+
+&nbsp;
+
+If you want to learn how to create various tables in HBase, go look at [episode 1][1]!
+
+<iframe src="https://player.vimeo.com/video/72357888?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop tutorial: an introduction to the new HBase Browser" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+Prerequisites before starting Hue:
+
+1. Have Hue built or installed
+
+2. Have HBase and Thrift Service 1 initiated (Thrift can be configured through Cloudera Manager or <a href="http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Installation-Guide/cdh4ig_topic_20_5.html#topic_20_5_4_unique_1" target="_blank" rel="noopener noreferrer">manually</a>). Look at the HBase service configuration and check to see if the "Enable HBase Thrift Server Framed Transport" property is enabled. If it is, try unchecking it or set 'thrift_transport=framed' in the [hbase] section of the hue.ini.
+
+3. Configure your list of HBase Clusters in <a href="https://github.com/cloudera/hue/blob/master/desktop/conf.dist/hue.ini#L467" target="_blank" rel="noopener noreferrer">hue.ini</a> to point to your Thrift IP/Port
+
+{{< highlight bash >}}[hbase]
+
+\# Comma-separated list of HBase Thrift servers for clusters in the format of '(name|host:port)'.
+
+hbase_clusters=(Cluster|my-host1:9090),(Cluster2|localhost:9090)
+
+\# Hard limit of rows or columns per row fetched before truncating.
+
+\## truncate_limit = 500
+
+{{< /highlight >}}
+
+In this video, we’re walking through two main features of this app.  Let’s talk about HBase Browser!
+
+&nbsp;
+
+&nbsp;
+
+## SmartView
+
+The smartview is the view that you land on when you first enter a table. On the left hand side are the row keys and hovering over a row reveals a list of controls on the right. Click a row to select it, and once selected you can perform batch operations, sort columns, or do any amount of standard database operations. To explore a row, simple scroll to the right. By scrolling, the row should continue to lazily-load cells until the end.
+
+&nbsp;
+
+### Adding Data
+
+To initially populate the table, you can insert a new row or bulk upload CSV/TSV/etc. type data into your table.
+
+<img src="https://lh4.googleusercontent.com/rSmhp0hTq4xtod8SsoIn1A8tp7omHB46j0xtpnmtOQAHzn1PHw1C0rN7Yq8CBq0WOeSh_GVfFWB1P0mKsGGWIpAnGr-mxxJRIR3uW4exevkS5_mKBG0xIbJW" alt="image" width="441px;" height="191px;" />
+
+On the right hand side of a row is a ‘+’ sign that lets you insert columns into your row<img src="https://lh3.googleusercontent.com/2ag5vH82l_6FyCmlBHnQUYCQ8qxsKVQTRoBU_l8oSErvO_4FWKyTyAP5MaZejkLNOy2SQVSNjo47Kq_c2pQB1t67nFB24npZVmONUf3MVivNly7HJutVS7rM" alt="image" width="800px;" height="68px;" /><img src="https://lh4.googleusercontent.com/3aMhyC8qDYdNf98Ge8qbD2EPXzCiL62lCWxHpzhfiYfZPj1F-nAgu3IhbuDYQpTVz1OCqaMDC1WDZ617YfiTsZDafbhHjXufv_f9yyXJbk95fMLNlywLZkHS" alt="image" width="616px;" height="309px;" />
+
+&nbsp;
+
+### Mutating Data
+
+To edit a cell, simply click to edit inline:
+
+<img src="https://lh4.googleusercontent.com/ADTmywVLvEGPordZoEdsOIFkzCWlgc6lG6hrQdtAzT74nHgXqmyto4tPEqqrNmwk0pu709EnP_VIPAgvFPhlPT7NYSDj4LCbApRmw1z-mPyad2jMehWXiZAb" alt="image" width="290px;" height="177px;" />
+
+If you need more control or data about your cell, click “Full Editor” to edit.
+
+<img src="https://lh4.googleusercontent.com/irYJEB6muPCT5Oj3x-LJvMZIhSskXJhIJUsnYL00VpaoYKNTI8NnL09WsmzkxuryFWQpETnUb6EfRkT3ZrrTu7-yAXRDmDCG940Ssh-wbJhaGYt3Sj4txn4T" alt="image" width="620px;" height="639px;" />
+
+In the full editor, you can view cell history or upload binary data to the cell.  Binary data of certain MIME Types are detected, meaning you can view and edit images, PDFs, JSON, XML, and other types directly in your browser!
+
+<img src="https://lh5.googleusercontent.com/N5MqnAhIPQ5D7KSU-ulHTLS0mGFZqC22ciwKGeWhntzpYx4bvqCSvcTc3xCYfCCP6HuxNTr7FlEVMowbSIJ_1nOt36wOXzNpvC-Bhy3gRXve4rIS-Ei6t_By" alt="image" width="635px;" height="371px;" />
+
+&nbsp;
+
+Hovering over a cell also reveals some more controls (such as the delete button or the timestamp).  Click the title to select a few and do batch operations:
+
+<img src="https://lh3.googleusercontent.com/ECcsG6M0zGESG4vuHO8KvgsxrGPbZ5cEhbFxjq2uPhgKzUS-8eTaPq3W2P-rSm13fLxEnEMJY1yFJ8pb2IBmy2KwhGgdFjqQUOTQhQV0sWsxnPFPxpjvoe3T" alt="image" width="497px;" height="153px;" />
+
+If you need some sample data to get started and explore, check out this howto create <a href="http://gethue.tumblr.com/post/58181985680/hadoop-tutorial-how-to-create-example-tables-in-hbase" target="_blank" rel="noopener noreferrer">HBase table tutorial</a>.
+
+&nbsp;
+
+### Smart Searchbar
+
+The “Smart Searchbar” is a sophisticated tool that helps you zero-in on your data. The smart search supports a number of operations.  The most basic ones include finding and scanning row keys.  Here I am selecting two row keys with:
+
+&nbsp;
+
+<pre class="code">domain.100, domain.200</pre>
+
+<img src="https://lh4.googleusercontent.com/2swltMjM0iwMfsN5oL4CAGJvg_2ZEow_swIfUbUqfugC6WfwY7zSlCBeejTTH9u7ixy5w01KKJv4YEoh3ipGTQQrm0PZGgRxXyuqlD4XKS39w3NMVxSHGrx5" alt="image" width="705px;" height="339px;" />
+
+Submitting this query gives me the two rows I was looking for. If I want to fetch rows after one of these, I have to do a scan. This is as easy as writing a ‘+’ followed by the number of rows you want to fetch. Typing in:
+
+&nbsp;
+
+<pre class="code">domain.100, domain.200 +5</pre>
+
+Fetches domain.100 and domain.200 followed by the next 5 rows.  If you’re ever confused about your results, you can look down below and the query bar and also click in to edit your query.
+
+The Smart Search also supports column filtering.  On any row, I can specify the specific columns or families I want to retrieve.  With:
+
+&nbsp;
+
+<pre class="code">domain.100[column_family:]</pre>
+
+I can select a bare family, or mix columns from different families like so:
+
+&nbsp;
+
+<pre class="code">domain.100[family1:, family2:, family3:column_a]</pre>
+
+Doing this will restrict my results from one row key to the columns I specified. If you want to restrict column families only, the same effect can be achieved with the filters on the right.  Just click to toggle a filter.
+
+Finally, let’s try some more complex column filters.  I can query for bare columns:
+
+&nbsp;
+
+<pre class="code">domain.100[column_a]</pre>
+
+This will multiply my query over all column families. I can also do prefixes and scans:
+
+&nbsp;
+
+<pre class="code">    domain.100[family: prefix* +3]</pre>
+
+This will fetch me all columns that start with prefix* limited to 3 results.  Finally, I can filter on range:
+
+&nbsp;
+
+<pre class="code">domain.100[family: column1 to column100]</pre>
+
+This will fetch me all columns in ‘family:’ that are lexicographically >= column1 but <= column100.  The first column (‘column1’) must be a valid column, but the second can just be any string for comparison.
+
+The Smart Search also supports prefix filtering on rows.  To select a prefixed row, simply type the row key followed by a star *.  The prefix should be highlighted like any other searchbar keyword.  A prefix scan is performed exactly like a regular scan, but with a prefixed row.
+
+&nbsp;
+
+<pre class="code">domain.10* +10</pre>
+
+Finally, as a new feature, you can also take full advantage of the [HBase filtering][2] language, by typing your filter string between curly braces.  HBase Browser autocompletes your filters for you so you don’t have to look them up every time.  You can apply filters to rows or scans.
+
+&nbsp;
+
+<pre class="code">domain.1000 {ColumnPrefixFilter('100-') AND ColumnCountGetFilter(3)}</pre>
+
+This post only covers a few basic features of the Smart Search. You can take advantage of the full querying language by referring to the help menu when using the app.  These include column prefix, bare columns, column range, etc. Remember that if you ever need help with the searchbar, you can use the help menu that pops up while typing, which will suggest next steps to complete your query.
+
+## Et voila!
+
+Feel free to try the app at [gethue.com][3].  Let us know what you think on the [Hue user group][4]!
+
+Look forward to more features including Thrift 2 support, kerberos security and bulk data upload.
+
+ [1]: http://gethue.tumblr.com/post/58181985680/hadoop-tutorial-how-to-create-example-tables-in-hbase
+ [2]: blank
+ [3]: http://gethue.com
+ [4]: https://groups.google.com/a/cloudera.org/forum/#!forum/hue-user

+ 141 - 0
docs/gethue/content/posts/2013-09-05-hadoop-tutorials-ii-1-prepare-the-data-for-analysis.md

@@ -0,0 +1,141 @@
+---
+title: 'Season II: 1. Prepare the data for analysis with Pig and Python UDF'
+author: admin
+type: post
+date: 2013-09-05T18:47:00+00:00
+url: /hadoop-tutorials-ii-1-prepare-the-data-for-analysis/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/60376973455/hadoop-tutorials-ii-1-prepare-the-data-for-analysis
+tumblr_gethue_id:
+  - 60376973455
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Browsing
+  - Querying
+  - Tutorial
+
+---
+<p id="docs-internal-guid-503f040f-ef67-4b6f-ee8d-c485a06d2c9b">
+  Welcome to season 2 of the Hue <a href="https://gethue.com/category/full-tutorial/">video series</a>. In this new chapter we are going to demonstrate how Hue can simplify Hadoop usage and lets you focus on the business and less about the underlying technology. In a real life scenario, we will use various Hadoop tools within the Hue UI and explore some data and extract some competitive advantage insights from it.
+</p>
+
+&nbsp;
+
+<iframe src="https://player.vimeo.com/video/73849021?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop Tutorial: Hue - Preparing the data for analysis with Pig and Python UDF" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+Let’s go surf the Big Data wave, directly from your Browser!
+
+We want to open a new restaurant. In order to optimize our future business we would like to learn more about the existing restaurants, which tastes are trending, what food eaters are looking for or are positive/negative about… In order to answer these questions, we are going to need some data.
+
+Luckily, Yelp is providing some [datasets][1] of restaurants and reviews and we download them. What’s next? Let’s move the data into Hadoop and make it queryable!
+
+# Convert Json data with Pig
+
+The current format is Json, which is easy to save but difficult to query as it consist in one big record for each row and requires a more sophisticated loader. We are also going to cleanup the data a bit in the process.
+
+In order to do this in a scalable way, we are going to use the query tool [Apache Pig][2] and to make it easy, the [Pig Editor][3] in Hue. We explain two ways to do it.
+
+All the code is available on the [Hadoop Tutorial][4] github.
+
+# Method 1: Pig JsonLoader/JsonStorage
+
+Pig natively provides a [JsonLoader][5]. We load our data and map it to a schema, then explode the votes into 3 columns. Notice the clean-up of the text of the reviews.
+
+Here is the [script][6]:
+
+<pre class="code">reviews =
+  LOAD 'yelp_academic_dataset_review.json'
+  USING JsonLoader('votes:map[],user_id:chararray,review_id:chararray,stars:int,date:chararray,text:chararray,type:chararray,business_id:chararray');
+
+tabs =
+  FOREACH reviews
+  GENERATE
+     (INT) votes#'funny', (INT) votes#'useful', (INT) votes#'cool', user_id, review_id, stars, REPLACE(REPLACE(text, 'n', ''), 't', ''), date, type, business_id;
+
+STORE tabs INTO 'yelp_academic_dataset_review.tsv';</pre>
+
+&nbsp;
+
+Note: if the script fails with a ClassNotFound exception, you might need to logging as ‘oozie’ or ‘hdfs’ and upload /usr/lib/pig/lib/json-simple-1.1.jar into [/user/oozie/share/lib/pig][7] on HDFS with [File Browser][8].
+
+# Method 2: Pig Python UDF
+
+Let’s convert the business data to TSV with a great Pig features: [Python UDF][9]. We are going to process each row with with a UDF loading the Json records one by one and printing them with tabs as delimiter.
+
+As Pig is currently using Jython 2.5 for executing Python UDF and there is no builtin json lib, we need to download jyson from <http://downloads.xhaus.com/jyson/>. Grab the jyson-1.0.2 version, extract it and upload jyson-1.0.2.jar to /user/oozie/share/lib/pig with FileBrowser.
+
+We need to import our Python UDF into Pig. Open up the Pig Editor and upload a file resource named [converter.py][10]. You can also create the file directly on HDFS with FileBrowser, then edit it and add this [script][6]:
+
+<pre class="code">from com.xhaus.jyson import JysonCodec as json
+
+@outputSchema("business:chararray")
+def tsvify(line):
+ business_json = json.loads(line)
+ business = map(unicode, business_json.values())
+ return 't'.join(business).replace('n', ' ').encode('utf-8')</pre>
+
+Go to ‘Properties’, ‘Resource’ and specify the path to converter.py on HDFS.
+
+You are then ready to type the following Pig [script][11]:
+
+<pre class="code">REGISTER 'converter.py' USING jython AS converter;
+
+reviews =
+  LOAD '/user/romain/yelp/yelp_academic_dataset_business.json' AS (line:CHARARRAY);
+
+tsv =
+  FOREACH reviews
+  GENERATE converter.tsvify(line);
+
+STORE tsv INTO 'yelp_academic_dataset_business.tsv'</pre>
+
+#
+
+# What’s next?
+
+Pig is a powerful tool for processing terabytes of data and Hue Pig Editor makes it easier to play around. Python UDF will become part of the editor when [HUE-1136][12] is finished. In episode 3, we will see how to convert to even better formats.
+
+In the [next episode][13], let’s see how to query the data and learn more about the restaurant market!
+
+ [1]: http://www.yelp.com/dataset_challenge/
+ [2]: http://pig.apache.org/
+ [3]: http://gethue.tumblr.com/post/51559235973/tutorial-apache-pig-editor-in-hue-2-3
+ [4]: https://github.com/romainr/hadoop-tutorials-examples
+ [5]: http://pig.apache.org/docs/r0.11.1/func.html#jsonloadstore
+ [6]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/pig-json-python-udf/clean_json.pig
+ [7]: http://127.0.0.1:8888/filebrowser/#/user/oozie/share/lib/pig
+ [8]: http://gethue.tumblr.com/post/48706244836/demo-hdfs-file-operations-made-easy-with-hue
+ [9]: http://pig.apache.org/docs/r0.11.1/udf.html#python-udfs
+ [10]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/pig-json-python-udf/converter.py
+ [11]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/pig-json-python-udf/python_udf.pig
+ [12]: https://issues.cloudera.org/browse/HUE-1136
+ [13]: https://gethue.com/hadoop-tutorials-ii-2-execute-hive-queries-and/ "Season II: 2. Execute Hive queries and schedule them with Oozie"

+ 217 - 0
docs/gethue/content/posts/2013-09-11-hadoop-tutorials-ii-2-execute-hive-queries-and.md

@@ -0,0 +1,217 @@
+---
+title: 'Season II: 2. Execute Hive queries and schedule them with Oozie'
+author: admin
+type: post
+date: 2013-09-11T15:39:00+00:00
+url: /hadoop-tutorials-ii-2-execute-hive-queries-and/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/60937985689/hadoop-tutorials-ii-2-execute-hive-queries-and
+tumblr_gethue_id:
+  - 60937985689
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Browsing
+  - Querying
+  - Scheduling
+  - Tutorial
+
+---
+<p id="docs-internal-guid--8202e43-0da7-b45c-578a-06e670bbcee9">
+  In the <a href="https://gethue.com/hadoop-tutorials-ii-1-prepare-the-data-for-analysis/">previous</a> episode, we saw how to to transfer some file data into Apache Hadoop. In order to interrogate easily the data, the next step is to create some Hive tables. This will enable quick interaction with high level languages like SQL and <a href="https://gethue.com/tutorial-apache-pig-editor-in-hue-2-3/">Pig</a>.
+</p>
+
+&nbsp;
+
+<iframe src="https://player.vimeo.com/video/74215175?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop Tutorial: Hue - Execute Hive queries and schedule them with Oozie" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+We experiment with the SQL queries, then parameterize them and insert them into a workflow in order to run them together in parallel. Including Hive queries in an Oozie workflow is a pretty common use case with recurrent pitfalls as seen on the user group. We can do it with [Hue][1] in a few clicks.
+
+# Get prepared
+
+First, based on the data of the previous episode we create two tables in the Hive Metastore. We use the Metastore app and its create table wizard. Then, it is time to study the data!
+
+We previously created the Hive table in <https://gethue.com/tutorial-analyzing-data-with-hue-and-hive/>
+
+&nbsp;
+
+&nbsp;
+
+# Hive
+
+Goal: we want to get the 10 coolest restaurants for a day.
+
+&nbsp;
+
+Let’s open Beeswax Hive Editor and explore the range of dates that we have:
+
+{{< highlight sql >}}SELECT DISTINCT \`date\` FROM review ORDER BY \`date\` DESC;{{< /highlight >}}
+
+Notice that you need to use backticks in order to use date as a column name in Hive.
+
+&nbsp;
+
+The data is a bit old, so let’s pick 2012-12-01 as our target date. We can join the two tables in order to get the name of the restaurant and its average ‘cool’ score of the day. Submit this parameterized query and enter 2012-12-01 when prompted for the date:
+
+&nbsp;
+
+{{< highlight sql >}}SELECT r.business_id, name, AVG(cool) AS coolness
+
+FROM review r JOIN business b
+
+ON (r.business_id = b.business_id)
+
+WHERE categories LIKE '%Restaurants%'
+
+AND \`date\` = '$date'
+
+GROUP BY r.business_id, name
+
+ORDER BY coolness DESC
+
+LIMIT 10
+
+{{< /highlight >}}
+
+We have a good Hive query. Let’s [create][2] a result table ‘top_cool’ that will contain the top 10:
+
+{{< highlight sql >}}CREATE TABLE top_cool AS
+
+SELECT r.business_id, name, SUM(cool) AS coolness, '$date' as \`date\`
+
+FROM review r JOIN business b
+
+ON (r.business_id = b.business_id)
+
+WHERE categories LIKE '%Restaurants%'
+
+AND \`date\` = '$date'
+
+GROUP BY r.business_id, name
+
+ORDER BY coolness DESC
+
+LIMIT 10
+
+{{< /highlight >}}
+
+And later replace ‘CREATE TABLE top_cool AS’ by ‘INSERT INTO TABLE top_cool’ in the Hive script as we want to create the table only the first time:
+
+{{< highlight sql >}}INSERT INTO TABLE top_cool
+
+SELECT r.business_id, name, SUM(cool) AS coolness, '${date}' as \`date\`
+
+FROM review r JOIN business b
+
+ON (r.business_id = b.business_id)
+
+WHERE categories LIKE '%Restaurants%'
+
+AND \`date\` = '$date'
+
+GROUP BY r.business_id, name
+
+ORDER BY coolness DESC
+
+LIMIT 10
+
+{{< /highlight >}}
+
+# Hive action in Apache Oozie
+
+The video also starts <a href="http://vimeo.com/74215175#t=2m53s" target="_blank" rel="noopener noreferrer">here</a>.
+
+First we create a new workflow and add an Oozie action. We need to specify which SQL we want to run. This one needs to be uploaded to HDFS. In our case we open up the ‘workspace’ of the workflow, create a new file and copy paste the query. We we upload and pick the [query file][3] as the ‘Script name’.
+
+&nbsp;
+
+## <span style="color: #ff0000;">Important</span>
+
+Then comes a crucial step. Our Hive action needs to talk to the Hive Metastore and so know its location. This is done by copying /etc/hive/conf/hive-site.xml as 'hive-conf.xml' on HDFS and including it as a ‘File’ resource and telling Oozie to use it as ‘Job XML’ configuration.
+
+&nbsp;
+
+Note: when using a demo VM or a pseudo distributed cluster (everything on one machine), you might hit the error explained in the ‘Warning!’ section of the [HCatalog post][4].
+
+&nbsp;
+
+Note: when using a real cluster, as the workflow is going to run somewhere in the cluster, we need to the metastore to be [remote][5]. A remote Metastore can be contacted from any other hosts.
+
+&nbsp;
+
+Lets specify that we are using a ‘date’ parameter in the Hive script. In our case we add the parameter in the Hive action:
+
+{{< highlight bash >}}
+
+date=${date}
+
+{{< /highlight >}}
+
+The we save the workflow, fill up the date when prompted and look at the dynamic progress of the workflow! The output of the query will appear when you click on the ‘View the logs’ button on the action graph. In practice, INSERT, LOAD DATA would be used instead of SELECT in order to persist the calculation.
+
+&nbsp;
+
+You can now monitor the workflow in the dashboard and stop or rerun it.
+
+&nbsp;
+
+Note:
+
+If you are seeing this error, it means that the input file or destination directory of the table is not writable by your user or the ‘hive’ user if you are with HiveServer2:
+
+&nbsp;
+
+<pre class="code">Failed with exception copyFiles: error while moving files!!!
+ FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask</pre>
+
+&nbsp;
+
+# Sum-up
+
+Hive queries can be simply tested in Beeswax Hive Editor before getting inserted in an Oozie workflow, all without touching the command line.
+
+&nbsp;
+
+One of the Hue 3 goal is to remove the duplication of the hive script on the HDFS and the manual creation of the Hive action. With the new [document model][6], one would refer to the saved Hive query in Beeswax and with just a click create it.
+
+&nbsp;
+
+Creating a workflow lets you group other scripts together and run them atomically. Another advantage is to then execute the workflow repetitively (e.g. run a query every day at midnight) with an Oozie coordinator.
+
+This is what we will cover in the [next episode][7]!
+
+ [1]: http://gethue.com
+ [2]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/hive-workflow/create_table.hql
+ [3]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/hive-workflow/insert_table.hql
+ [4]: https://gethue.com/hadoop-tutorial-how-to-access-hive-in-pig-with/
+ [5]: http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Installation-Guide/cdh4ig_hive_metastore_configure.html#topic_18_4_1_unique_1__title_508_unique_1
+ [6]: https://issues.cloudera.org/browse/HUE-950
+ [7]: https://gethue.com/hadoop-tutorials-ii-3-schedule-hive-queries-with/

+ 89 - 0
docs/gethue/content/posts/2013-09-18-hadoop-tutorials-ii-3-schedule-hive-queries-with.md

@@ -0,0 +1,89 @@
+---
+title: 'Season II: 3. Schedule Hive queries with Oozie coordinators'
+author: admin
+type: post
+date: 2013-09-18T17:13:00+00:00
+url: /hadoop-tutorials-ii-3-schedule-hive-queries-with/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/61597968730/hadoop-tutorials-ii-3-schedule-hive-queries-with
+tumblr_gethue_id:
+  - 61597968730
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+categories:
+  - Querying
+  - Scheduling
+  - Tutorial
+
+---
+<p id="docs-internal-guid-4887476c-320c-a45c-febf-e2e58849f7a2">
+  <span>In the previous </span><a href="http://gethue.tumblr.com/post/60937985689/video-series-ii-2-execute-hive-queries-and-schedule"><span>episode</span></a><span> we saw how to create an Hive action in an Oozie workflow. These workflows can then be repeated automatically with an Oozie coordinator. This post describes how to schedule Hadoop jobs (e.g. run this job everyday at midnight).</span>
+</p>
+
+<iframe src="https://player.vimeo.com/video/74378529?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop Tutorial - Hue: Schedule Hive queries with Oozie coordinators" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+# <span>Oozie Coordinators</span>
+
+<span>Our goal: compute the 10 coolest restaurants of the day everyday for 1 month:</span>
+
+&nbsp;
+
+<span>From </span>[<span>episode 2</span>][1]<span>, now have a workflow ready to be ran everyday. We create a ‘</span><span>daily_top</span><span>’ coordinator and select our previous Hive workflow. Our frequency is daily, and we can start from </span><span>November 1st 2012 12:00 PM</span> <span>to </span><span>November 30th 2012 12:00 PM</span><span>.</span>
+
+&nbsp;
+
+<span>The most important part is to recreate a URI that represents the date of the data. Notice that there is more efficient way to do this but we have an example easier to understand.</span>
+
+&nbsp;
+
+<span>As our data is already present, we just need to create an output dataset named ‘</span><span>daily_days</span><span>’ (which contrary to the input dataset won’t check if the input is available). We pick the URI of the data set to be like the date format of the episode one (e.g. </span><span>$YEAR-$MONTH-$DAY</span><span>). These parameters are going to be automatically filled in our workflow by the coordinator. </span>
+
+&nbsp;
+
+<span>We now link our ‘</span><span>daily_days</span><span>’ dataset to our workflow variable ‘</span><span>date</span><span>’ and save the coordinator.</span>
+
+&nbsp;
+
+Notice that on Step 5 the  ’Oozie parameters’ list which is the equivalent of the coordinator.properties file. The values will appear in the submission pop-up an can be overridden. There are also ‘Workflow properties’  for fill-up workflow parameters directly (which can be parameterized themselves by ‘Oozie parameters’ or <a href="http://blog.cloudera.com/blog/2013/09/how-to-write-an-el-function-in-apache-oozie/" target="_blank" rel="noopener noreferrer">EL functions</a> or constants). We will have more on this in the upcoming Oozie bundle episode.
+
+&nbsp;
+
+<span>Now submit the coordinator and see the 30 instances (one for each day of November) being  created and triggering the workflow with the Hive query for the corresponding day. Coordinators can also be stopped and re-ran through the UI. Each workflow can be individually accessed by simply clicking on the date instance.</span>
+
+&nbsp;
+
+# <span>Sum-up</span>
+
+<span>With their input and output datasets Coordinators are great for scheduling repetitive workflows in a few clicks. Hue offers a UI and wizard that lets you avoid any Oozie XML. At some point, Hue will also make it even simpler by automating the creation of the workflow and coordinator: </span>[HUE-1389][2]<span>.</span>
+
+Next, let’s do fast SQL with [Impala][3]!
+
+ [1]: http://gethue.tumblr.com/post/60937985689/video-series-ii-2-execute-hive-queries-and-schedule
+ [2]: https://issues.cloudera.org/browse/HUE-1389
+ [3]: http://gethue.tumblr.com/post/62452792255/fast-sql-with-the-impala-query-editor

+ 88 - 0
docs/gethue/content/posts/2013-09-23-hue-3-and-the-new-sqoop-and-zookeeper-apps-are-out.md

@@ -0,0 +1,88 @@
+---
+title: Hue 3 and the new Sqoop and ZooKeeper apps are out!
+author: admin
+type: post
+date: 2013-09-23T20:40:00+00:00
+url: /hue-3-and-the-new-sqoop-and-zookeeper-apps-are-out/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/62087732649/hue-3-and-the-new-sqoop-and-zookeeper-apps-are-out
+tumblr_gethue_id:
+  - 62087732649
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Browsing
+  - Release
+  - Querying
+
+---
+## Hi Big Data Surfers,
+
+<span id="docs-internal-guid-0768643e-1223-5a03-20cc-6cb512e36ff6">The Hue team is pleased to bring you Hue 3.0, available as a </span>[tarball][1]{.trackLink} release.
+
+Please see the [release notes][2] for more information and the <a href="http://cloudera.github.io/hue/docs-3.0.0/" target="_blank" rel="noopener noreferrer">documentation</a>.
+
+Hue 3.0 brings a browser for ZooKeeper and 245 commits. The tech stack was upgraded and a new phase of redesign was performed in order to improve the UX.
+
+## Notable Features
+
+  * <span><span>Sqoop</span></span>&nbsp;
+    <span>With the Sqoop 2 application data from databases can be easily exported or imported into HDFS in a scalable way. The Job Wizard hides the </span><span><span>complexity of creating Sqoop jobs and the dashboard offers a live progress and log access.</span></span><a href="https://cdn.gethue.com/downloads/screenshots/hue-3-sqoop.png" target="_blank" rel="noopener noreferrer"><img alt="image" src="https://cdn.gethue.com/downloads/screenshots/hue-3-sqoop.png" width="900" /></a></li>
+
+      * <span><span>ZooKeeper</span></span>&nbsp;
+        <span>Navigate and browse the Znode hierarchy and content of a Zookeeper cluster. Znodes can be added, deleted and edited.<br /> </span><span><span>Multi-clusters are supported and their various statistics are available.</span></span><a href="https://cdn.gethue.com/downloads/screenshots/hue-3-zoo.png" target="_blank" rel="noopener noreferrer"><img alt="image" src="https://cdn.gethue.com/downloads/screenshots/hue-3-zoo.png" width="900" /></a></li>
+
+          * <span><span>Shell app is removed and replaced by Pig Editor, HBase Browser and the Sqoop apps.</span></span>&nbsp;
+          * <span><span>Python 2.6 is required.</span></span>&nbsp;
+          * <span><span>Beeswax daemon is replaced by HiveServer2.</span></span>&nbsp;</ul>
+
+        ## Notable Fixes
+
+          * <span>HUE-897 [core] Redesign of the overall layout</span>
+          * <span>HUE-1521 [core] Improve JT HA</span>
+          * <span>HUE-1493 [beeswax] Replace Beeswaxd by HiveServer2</span>
+          * <span>HUE-1474 [core] upgrade django from 1.2 to 1.4</span>
+          * <span>HUE-1506 [search] Impersonation support</span>
+          * <span>HUE-1475 [core] Switch back from spawning server</span>
+
+        <span> </span>
+
+        <span id="docs-internal-guid-0768643e-1223-9198-1d84-c7ebd87794ae">Thank you for all the</span>[ bugs, suggestions, and feedback][3]<span> and stay tuned, a few major changes could not make it to 3.0 but will land soon!</span>
+
+        <span>Follow @<a class="tumblelog" href="http://tmblr.co/mjrjfJ-GIti18oBq2GmTjjA">gethue</a> for the latest updates!</span>
+
+        <span> </span>
+
+        The Hue team
+
+ [1]: https://cdn.gethue.com/downloads/releases/3.0.0/hue-3.0.0.tgz
+ [2]: http://cloudera.github.com/hue/docs-3.0.0/release-notes/release-notes-3.0.0.html
+ [3]: http://groups.google.com/a/cloudera.org/group/hue-user

+ 185 - 0
docs/gethue/content/posts/2013-09-25-sso-with-hue-new-saml-backend.md

@@ -0,0 +1,185 @@
+---
+title: 'SSO with Hue: new SAML backend'
+author: admin
+type: post
+date: 2013-09-25T21:47:00+00:00
+url: /sso-with-hue-new-saml-backend/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/62273866476/sso-with-hue-new-saml-backend
+tumblr_gethue_id:
+  - 62273866476
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Administration
+  - Development
+
+---
+<p id="docs-internal-guid-558a4829-570e-2b8d-5785-cc634db2ff02">
+  A new <a href="http://en.wikipedia.org/wiki/Security_Assertion_Markup_Language">SAML 2.0</a> backend is under development to provide a better authentication experience in Hue. Rather than signing in using Hue credentials, <a href="https://gethue.com/single-sign-on-in-hue-with-twitter-and-oauth/">single sign-on</a> (SSO) authentication can be achieved with this new backend.
+</p>
+
+<iframe src="https://player.vimeo.com/video/75212274?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop Tutorial: SSO via SAML in Hue" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+## The Basics
+
+In SAML 2.0, there are 2 basic components: the Service Provider (SP) and Identity Provider (IdP). The typical flow from SP to IdP is made obvious in following image.
+
+<img src="https://lh4.googleusercontent.com/WHL7QgcaoXi8PB71tkNHeqFSin4UzdPtvJdcX6-YauDxnP3tlTzUpDXM-RkO6twS07JEH1Xka1F-OfodIjCSr2E7ueyKRxb0tL8tHq0njdh1_ecoVYDv9min" alt="image" width="618px;" height="459px;" />
+
+SAML architecture from <http://en.wikipedia.org/wiki/SAML_2.0.>
+
+Hue acts as a service provider with an assertion consumer service (ACS). It communicates with the IdP to authenticate users. Hue also provides a couple of URLs that enable communication with the IdP:
+
+  * “/saml2/metadata”
+  * “/saml2/acs”
+
+The IdP will contact the metadata URL for information on the SP. For example, the ACS URL is described in metadata. The ACS URL is the consumer of assertions from the IdP. The IdP will redirect users to the ACS URL once it has authenticated them.
+
+### Users
+
+When a user logs into Hue through the SAML backend, a new user is created in Hue if it does already not exist. This logic is almost the same as the LdapBackend. It is also configurable via the create_users_on_login parameter.
+
+## Demo
+
+The following is a demo of how to setup Hue to communicate via SAML with a Shibboleth IdP.
+
+### Environment
+
+This demo is performed on CentOS 6.4 and assumes the following projects have been installed and configured:
+
+  * [Shibboleth 2.4.0][1] - IdP
+  * [OpenDS 2.2.1][2] - Authentication service
+  * [Tomcat 6][3] - Server for IdP
+
+Shibboleth IdP is installed to “/opt/shibboleth-idp” and has the following custom configurations:
+
+  * Release the [UID][4] attribute with assertions.
+  * Available over SSL on port [8443][5].
+  * Provide authentication via [LDAP][6] through OpenDS.
+  * Connect to a [relying party][7] that contains metadata about the SP. In this case, the relying party is Hue and its metadata URL is “/saml2/metadata”.
+  * Use the [UsernamePassword][8] handler. It provides very obvious feedback that all components have been configured appropriately.
+  * Available to all [IPs][9].
+
+OpenDS was installed and 2000 users were automatically generated. Then, a user “test” was added with the password “password”.
+
+### Preparing Hue
+
+The libraries that support SAML in Hue must be installed:
+
+<pre class="code">build/env/bin/pip install -e git+https://github.com/abec/pysaml2@HEAD#egg=pysaml2
+
+build/env/bin/pip install -e git+https://github.com/abec/djangosaml2@HEAD#egg=djangosaml2</pre>
+
+The above commands will also install:
+
+  * decorator
+  * python-memcached
+  * repoze.who
+  * zope.interface
+
+Note: The SAML libraries are dependent on xmlsec1 being available on the machine. This will be need to be installed and readily available for Hue to use.
+
+### Configuring Hue
+
+Hue must be configured as a SP and use the SAML authentication backend.
+
+#### 1. Hue as a Service Provider
+
+In the SAML 2.0 architecture, Hue acts as the SP. As such, it must be configured to communicate with the IdP in the hue.ini:
+
+<pre class="code">[libsaml]
+xmlsec_binary=/opt/local/bin/xmlsec1
+metadata_file=/tmp/metadata.xml
+key_file=/tmp/key.pem
+cert_file=/tmp/cert.pem</pre>
+
+The key_file and cert_file can be copied from the Shibboleth IdP credentials directory (“/opt/shibboleth-idp/credentials/”). The files idp.key and kdp.crt correspond to cert_file and key_file, respectively. These files should already be in PEM format, so for purposes of this demo, they are renamed to key.pem and cert.pem.
+
+The metadata_file is set to the file containing the IdP metadata (“/tmp/metadata.xml”). This can be created from the XML response of “http://<SHIBBOLETH HOST>:8443/idp/shibboleth/”. The XML itself may require some massaging. For example, in some fields, the port 8443 is missing from certain URLs.
+
+The table below describes the available parameters for SAML in the hue.ini.
+
+Parameter                  Description
+
+<pre class="code">xmlsec_binary                Xmlsec1 binary path. This program should be executable by the user running Hue.
+create_users_on_login        Create users received in assertion response upon successful authentication and login.
+required_attributes          Required attributes to ask for from IdP.
+optional_attributes          Optional attributes to ask for from IdP.
+metadata_file                IdP metadata in the form of a file. This is generally an XML file containing metadata that the Identity Provider generates.
+key_file                     Private key to encrypt metadata with.
+cert_file                    Signed certificate to send along with encrypted metadata.
+user_attribute_mapping       A mapping from attributes in the response from the IdP to django user attributes.</pre>
+
+Hue SAML configuration parameters.
+
+&nbsp;
+
+#### 2. SAML Backend for Logging-in
+
+The SAML authentication backend must be used so that users can login and be created:
+
+<pre>[desktop]
+  [[auth]]
+  backend=libsaml.backend.SAML2Backend</pre>
+
+###
+
+### SAML and Hue in Action
+
+Now that Hue has been setup to work with the SAML IdP, attempting to visit any page redirects to Shibboleth’s login screen:
+
+<img src="https://lh5.googleusercontent.com/GwmNGDewG9NVYixw20Nu8vudVgaMkSKkmDGunCmyv-blzp1k6UHMHuEMGUeRHMu2LyMFQfzDjL50t6trylgTkPWLRpAr6-dMLv5f8gzjXuBwc6kMeysMnnSL" alt="image" width="481px;" height="386px;" />
+
+Shibboleth login screen after attempting to access /about.
+
+After logging in, Hue is readily available and visible!
+
+##
+
+## Summary
+
+Providing SSO support through SAML helps enterprises by enabling centralized authentication. From a user’s perspective, life is easier because it removes the burden of password management. After a user has logged in, they adhere to the same [permissions][10] and rules as other users.
+
+Have any suggestions? Feel free to tell us what you think through [hue-user][11] or at [@gethue][12].
+
+ [1]: http://shibboleth.net/
+ [2]: http://opends.java.net/
+ [3]: http://tomcat.apache.org/download-60.cgi
+ [4]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/hue-saml/shibboleth-conf/attribute-filter.xml#L26
+ [5]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/hue-saml/tomcat6-conf/server.xml#L94
+ [6]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/hue-saml/shibboleth-conf/login.config#L25
+ [7]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/hue-saml/shibboleth-conf/relying-party.xml#L83
+ [8]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/hue-saml/shibboleth-conf/handler.xml#L134
+ [9]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/hue-saml/tomcat6-conf/web.xml#L117
+ [10]: http://blog.cloudera.com/blog/2012/12/managing-permissions-in-hue/
+ [11]: https://groups.google.com/a/cloudera.org/forum/?fromgroups#!forum/hue-user
+ [12]: https://twitter.com/gethue/

+ 116 - 0
docs/gethue/content/posts/2013-09-27-fast-sql-with-the-impala-query-editor.md

@@ -0,0 +1,116 @@
+---
+title: 'Season II: 4. Fast SQL with the Impala Query Editor'
+author: admin
+type: post
+date: 2013-09-27T22:24:00+00:00
+url: /fast-sql-with-the-impala-query-editor/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/62452792255/fast-sql-with-the-impala-query-editor
+tumblr_gethue_id:
+  - 62452792255
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+categories:
+  - Querying
+  - Tutorial
+
+---
+<span>In the previous episodes, we presented how to schedule repetitive worflows on the grid with <a href="http://gethue.tumblr.com/post/61597968730/hadoop-tutorials-ii-3-schedule-hive-queries-with">Oozie Coordinator</a>. Let’s now look at a fast way to query some data with Impala.</span>
+
+<p id="docs-internal-guid-40e7f13f-6181-fb3b-54b1-99253b9abffe">
+  <span>Hue, </span><a href="http://gethue.com"><span>the Hadoop UI</span></a><span>, has been supporting </span><a href="https://github.com/cloudera/impala"><span>Impala</span></a><span> closely since its first version and brings fast interactive queries within your browser. If not familiar with </span><a href="http://blog.cloudera.com/blog/2012/10/cloudera-impala-real-time-queries-in-apache-hadoop-for-real/"><span>Impala</span></a><span>, we recommend you to check the documentation of the fastest </span><a href="http://www.cloudera.com/content/support/en/documentation/cloudera-impala/cloudera-impala-documentation-v1-latest.html"><span>SQL engine</span></a><span> for Hadoop.</span>
+</p>
+
+<iframe src="https://player.vimeo.com/video/75493693?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop Tutorial: Hue - The Impala web UI" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+# <span>Impala App</span>
+
+<span>Most of Hive SQL is compatible with Impala and we are going to compare the queries of </span>[<span>episode one</span>][1] <span>in both Hive and Impala applications. Notice that this comparison is not 100% scientific but it demonstrates what would happen in common cases.</span>
+
+&nbsp;
+
+<span>Using Impala through the Hue app is easier in many ways than using it through the command-line impala-shell. For example, table names, databases, columns, built-in functions are auto-completable and the syntax highlighting shows the potential typos in your queries. Multiple queries or a selected portion of a query can be executed from the editor. Parameterized queries are supported and the user will be prompted for values at submission time. Impala queries can be saved and shared between users or deleted and then restored from trash in case of mistakes. </span>
+
+&nbsp;
+
+<span>Impala uses the same Metastore as Hive so you can browse tables with the </span>[<span>Metastore app</span>][2]<span>. You can also pick a database with a drop-down in the editor. After submission, progress and logs are reported and you can browse the result with infinite scroll or download the data with your browser.</span>
+
+# <span>Query speed comparison </span>
+
+<span>Let’s start with the Hue examples as they are easily accessible. They are very small but show the lightning speed of Impala and the inefficiency of the series of MapReduce jobs created by Hive.</span>
+
+<span>Make sure the Hive and Impala examples are installed in Hue and then in each app, go to ‘</span><span>Saved Queries</span><span>’, copy the query ‘</span><span>Sample: Top salaries</span><span>’ and submit it.</span>
+
+<span>Then we are back to our Yelp data. Let’s take the query from </span>[<span>episode one</span>][1] <span>and execute it in both apps:</span>
+
+{{< highlight sql >}}
+
+SELECT r.business_id, name, SUM(cool) AS coolness
+
+FROM review r JOIN business b
+
+ON (r.business_id = b.business_id)
+
+WHERE categories LIKE '%Restaurants%'
+
+AND \`date\` = '$date'
+
+GROUP BY r.business_id, name
+
+ORDER BY coolness DESC
+
+LIMIT 10
+
+{{< /highlight >}}
+
+<span>Again, you can see the benefits of Impala’s </span>[<span>architecture and optimization</span>][3]<span>.</span>
+
+<span> </span>
+
+# <span>Sum-up</span>
+
+<span>This post described how Impala query execution makes data analysis interactive and more productive than Hive’s batch architecture. Results come back fast, and in our Yelp data case, instantaneously. Impala and Hue combined are a recipe for fast analytics. Moreover, Hue’s </span>[<span>Python API</span>][4] <span>can also be reused if you want to build your own client. </span>
+
+&nbsp;
+
+[<span>Cloudera’s demo VM</span>][5] with its Hadoop tutorials is a great way to get started with Impala and Hue. The [best file formats for Impala][6] blog post describes how to be even more efficient.
+
+&nbsp;
+
+As usual feel free to comment on the[<span>hue-user</span>][7] list or [<span>@gethue</span>][8]. Next, we will continue the Hadoop Tutorial season 2 with [Oozie Bundles][9]!
+
+ [1]: http://gethue.tumblr.com/post/60376973455/hadoop-tutorials-ii-1-prepare-the-data-for-analysis
+ [2]: http://gethue.tumblr.com/post/56804308712/hadoop-tutorial-how-to-access-hive-in-pig-with
+ [3]: http://www.cloudera.com/content/cloudera-content/cloudera-docs/Impala/latest/Installing-and-Using-Impala/ciiu_concepts.html
+ [4]: http://gethue.tumblr.com/post/49882746559/tutorial-executing-hive-or-impala-queries-with-python
+ [5]: https://ccp.cloudera.com/display/SUPPORT/Cloudera+QuickStart+VM
+ [6]: http://gethue.tumblr.com/post/64879465564/tutorial-better-file-formats-for-impala-and-quick-sql
+ [7]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [8]: https://twitter.com/gethue
+ [9]: http://gethue.tumblr.com/post/63988110361/hadoop-tutorial-bundle-oozie-coordinators-with-hue

+ 116 - 0
docs/gethue/content/posts/2013-10-01-group-synchronization-backends-in-hue.md

@@ -0,0 +1,116 @@
+---
+title: Group Synchronization Backends in Hue
+author: admin
+type: post
+date: 2013-10-01T17:55:00+00:00
+url: /group-synchronization-backends-in-hue/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/62823068916/group-synchronization-backends-in-hue
+tumblr_gethue_id:
+  - 62823068916
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Administration
+  - Development
+
+---
+<p id="docs-internal-guid-63e96778-7525-df72-d153-e369f8395313">
+  <a href="http://cloudera.github.com/hue/">Hue</a><span>is the turn-key solution for </span><a href="http://hadoop.apache.com/">Apache Hadoop</a><span>. It hides the complexity of the ecosystem including HDFS, Oozie, MapReduce, etc. Hue provides authentication and integrates with </span><a href="http://gethue.tumblr.com/post/62273866476/sso-with-hue-new-saml-backend">SAML</a><span>, </span><a href="http://gethue.tumblr.com/post/48706063756/how-to-manage-permissions-in-hue">LDAP</a><span>, and </span><a href="http://gethue.tumblr.com/post/50341521241/single-sign-on-in-hue-with-twitter-and-oauth">other</a><span> systems. A new feature added in Hue is the ability to synchronize groups with a third party authority provider. In this blog post, we’ll be covering the basics of creating a Group Synchronization Backend.</span>
+</p>
+
+<span> </span>
+
+# <span>The Design</span>
+
+<span>The purpose of the group synchronization backends are to keep Hue’s internal group lists fresh. The design was separated into two functional parts:</span>
+
+  1. <span>A way to synchronize on every request.</span>
+  2. <span>A definition of how and what to synchronize.</span>
+
+![image][1]
+
+<span>Image 1: Request cycle in Hue with a synchronization backend.</span>
+
+<span>The first function is a Django </span>[<span>middleware</span>][2] <span>that is called on every request. It is intended to be immutable, but configurable. The second function is a backend that can be customized. This gives developers the ability to choose how their groups and user-group memberships can be synchronized. The middleware can be configured to use a particular synchronization backend and will call it on every request. If no backend is configured, then the middleware is disabled.</span>
+
+# <span> </span>
+
+# <span>Creating Your Own Backend</span>
+
+<span>A synchronization backend can be created by extending a class and providing your own logic. Here is an example backend that comes </span>[<span>packaged</span>][3] <span>with Hue:</span>
+
+<pre class="code">class LdapSynchronizationBackend(DesktopSynchronizationBackendBase):
+  USER_CACHE_NAME = 'ldap_use_group_sync_cache'
+
+  def sync(self, request):
+    user = request.user
+
+    if not user or not user.is_authenticated():
+      return
+
+    if not User.objects.filter(username=user.username, userprofile__creation_method=str(UserProfile.CreationMethod.EXTERNAL)).exists():
+      LOG.warn("User %s is not an Ldap user" % user.username)
+      return
+
+    # Cache should be cleared when user logs out.
+    if self.USER_CACHE_NAME not in request.session:
+      request.session[self.USER_CACHE_NAME] = import_ldap_users(user.username, sync_groups=True, import_by_dn=False)
+      request.session.modified = True</pre>
+
+<span>In the above code snippet, the synchronization backend is defined by extending “DesktopSynchronizationBackendBase”. Then, the method “sync(self, request)” is overridden and provides the syncing logic. </span>
+
+## <span>Configuration</span>
+
+The synchronization middleware can be configured to use a backend by changing “desktop -> auth -> [user_group_membership_synchronization_backend][4]” to the full import path of your class. For example, setting this config to “desktop.auth.backend.LdapSynchronizationBackend” configures Hue to synchronize with the configured LDAP authority.
+
+## <span>Design Intelligently</span>
+
+<span>Backends in Hue are extremely powerful and can affect the performance of the server. So, they should be designed in such a fashion that they do not do any operations that block for long periods of time. Also, they should manage the following appropriately:</span>
+
+  1. <span>Throttling requests to whatever service contains the group information.</span>
+  2. <span>Ensuring users are authenticated.</span>
+  3. <span>Caching if appropriate.</span>
+
+# <span> </span>
+
+# <span>Summary</span>
+
+<span>Hue is enterprise grade software ready to integrate with LDAP, SAML, etc. The newest feature, Group Synchronization, ensures corporate authority is fresh in Hue. It’s easy to configure and create backends and Hue comes with an LDAP backend.</span>
+
+<span>Hue is undergoing heavy development and are welcoming external contributions! Have any suggestions? Feel free to tell us what you think through </span>[<span>hue-user</span>][5] <span>or </span>[<span>@gethue</span>][6]<span>.</span>
+
+ [1]: http://media.tumblr.com/67f0b72e07cf0a824f6360e7ceaad73a/tumblr_inline_mu04cse78O1qzo3ii.png
+ [2]: https://docs.djangoproject.com/en/1.4/topics/http/middleware/
+ [3]: https://github.com/cloudera/hue/blob/23933dd0a1ce182d03549221143ea930c78640b7/desktop/core/src/desktop/auth/backend.py#L377
+ [4]: https://github.com/cloudera/hue/blob/master/desktop/conf.dist/hue.ini#L98
+ [5]: https://groups.google.com/a/cloudera.org/forum/?fromgroups#!forum/hue-user
+ [6]: http://twitter.com/gethue/

+ 146 - 0
docs/gethue/content/posts/2013-10-04-move-data-in-out-your-hadoop-cluster-with-the-sqoop.md

@@ -0,0 +1,146 @@
+---
+title: 'Move data in & out your Hadoop cluster with the Sqoop UI'
+author: admin
+type: post
+date: 2013-10-04T05:50:00+00:00
+url: /move-data-in-out-your-hadoop-cluster-with-the-sqoop/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/63064228790/move-data-in-out-your-hadoop-cluster-with-the-sqoop
+tumblr_gethue_id:
+  - 63064228790
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Querying
+
+---
+Hi Ice Cream lovers,
+
+Hue, the [open source Big Data UI][1], has a brand new application that enables transferring data between relational databases and [Hadoop][2]. This new application is driven by [Sqoop 2][3] and has several user experience improvements to boot.
+
+<iframe src="https://player.vimeo.com/video/76063637?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop Tutorial: Hue and the new Sqoop 2 app" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+Sqoop is a batch data migration tool for transferring data between traditional databases and Hadoop. The first version of Sqoop is a heavy client that drives and oversees data transfer via MapReduce. In Sqoop 2, the majority of the work was moved to a server that a thin client communicates with. Also, any client can communicate with the Sqoop 2 server over its JSON-REST protocol. Sqoop 2 was chosen instead of its predecessors because of its client-server design.
+
+## Importing from MySQL to HDFS
+
+The following is the canonical import job example sourced from <http://sqoop.apache.org/docs/1.99.2/Sqoop5MinutesDemo.html>. In Hue, this can be done in 3 easy steps:
+
+### Environment
+
+  * CDH 4.4 or <span>Hue 3.0.0</span>
+  * MySQL 5.1
+
+First, make sure that Sqoop2 is up and running and the Hue points to it in its hue.ini:
+
+{{< highlight bash >}}###########################################################################
+
+\# Settings to configure Sqoop
+
+###########################################################################
+
+[sqoop]
+
+\# Sqoop server URL
+
+server_url=http://sqoop2.com:12000/sqoop
+
+{{< /highlight >}}
+
+### Troubleshooting
+
+If the new job button is not appearing, Sqoop2 is probably not starting. Make sure the MySql or other DB connectors are in the /usr/lib/sqoop/lib directory of Sqoop2. Make sure you have these properties in the Sqoop2 Server configuration:
+
+<pre class="code">org.apache.sqoop.repository.schema.immutable=false
+org.apache.sqoop.connector.autoupgrade=true
+org.apache.sqoop.framework.autoupgrade=true</pre>
+
+### 1. Create a Connection
+
+In the Sqoop app, the connection manager is available from the “New Job” wizard. To get to the new job wizard, click on “New Job”. There may be a list of connections available if a few have been created before. For the purposes of this demo, we’ll go through the process of creating a new connection. Click “Add a new connection” and fill in the blanks with the data below. Then click save to return to the “New Job” wizard!
+
+<div>
+  <pre class="code">Connection Parameter                  Value
+
+Name                                  mysql-connection-demo
+
+JDBC Driver Class                     com.mysql.jdbc.Driver
+
+JDBC Connection String                jdbc:mysql://hue-demo/demo
+
+Username                              demo
+
+Password                              demo</pre>
+</div>
+
+Connection form values.
+
+### 2. Create a Job
+
+After creating a connection, follow the wizard and fill in the blanks with the information below.
+
+<div>
+  <pre class="code">Job Wizard Parameter              Value
+
+Name                              mysql-import-job-demo
+
+Type                              IMPORT
+
+Connection                        mysql-connection-demo
+
+Table name                        test
+
+Storage Type                      HDFS
+
+Output format                     TEXT_FILE
+
+Output directory                  /tmp/mysql-import-job-demo</pre>
+</div>
+
+Job wizard form values.
+
+### 3. Save and Submit the Job
+
+At the end of the Job wizard, click “Save and Run”! The job should automagically start after that and the job dashboard will be displayed. As the job is running, a progress bar below the job listing will be dynamically updated. Links to the HDFS output via the File Browser and Map Reduce logs via Job Browser will be available on the left hand side of the job edit page.
+
+# Sum Up
+
+The new Sqoop application enables batch data migration from a more traditional databases to Hadoop and vice versa through Hue. Using Hue, a user can move data between storage systems in a distributed fashion with the click of a button.
+
+I’d like to send out a big thank you to the Sqoop community for the new client-server design!
+
+Both projects are undergoing heavy development and are welcoming external contributions! Have any suggestions? Feel free to tell us what you think through [hue-user][4] or [@gethue][5]​!
+
+ [1]: http://gethue.com
+ [2]: http://hadoop.apache.org/
+ [3]: http://sqoop.apache.org/
+ [4]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [5]: https://twitter.com/gethue

+ 139 - 0
docs/gethue/content/posts/2013-10-10-password-management-in-hue.md

@@ -0,0 +1,139 @@
+---
+title: How to change or reset a forgotten password?
+author: admin
+type: post
+date: 2013-10-10T20:50:00+00:00
+url: /password-management-in-hue/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/63670895075/password-management-in-hue
+tumblr_gethue_id:
+  - 63670895075
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Administration
+  - Development
+
+---
+<p id="docs-internal-guid-624d5ce4-a420-2c73-133c-afd4d943f32f">
+  <a href="http://cloudera.github.com/hue/">Hue</a> is the web interface that improves the <a href="http://hadoop.apache.com/">Apache Hadoop</a> user experience. It’s a Django driven application and manages users accordingly. In this tutorial, we’ll be exploring the different options available for altering passwords in Hue using the default authentication backend (<a href="https://github.com/cloudera/hue/blob/branch-3.0/desktop/conf.dist/hue.ini#L95">AllowFirstUserBackend</a>).
+</p>
+
+# User Interface
+
+Users can change their passwords via the “<User Name>” -> “Edit Profile” found in the top-right corner of Hue.<img src="https://lh6.googleusercontent.com/ELuiWDo62BBpXahfVnSOwqFPteO_qSDNuqKnAPTpdBBEn63E78QM7u3pwyYzuMqcbeRbTNFNUmqlvGzjwZhg2GBm9uhml4pHHk-Mu-Bln65SXsvkcGbNfr5V" alt="image" width="530px;" height="540px;" />
+
+If a user cannot remember their password, the Hue administrator can change it for them via the user manager.<img src="https://lh6.googleusercontent.com/6BeIoLNKTgKRZR6wXT_mO-q1Mk8v7Ywpt5iY6tY8h-s603LSgg0_qbmkHv2_Aj-ZCWL16CIi0-qXu-LqZ9v970nv-gM_a7NmJi_tbyu7L9OQ1YfE4tw7XXxh" alt="image" width="624px;" height="109px;" />
+
+If the Hue administrator loses their password, then a more technical approach must be taken.
+
+# Programmatic
+
+When a Hue administrator loses their password, a more programmatic approach is required to secure the administrator again. Hue comes with a wrapper around the python interpreter called the “shell” command. It loads all the libraries required to work with Hue at a programmatic level. To start the Hue shell, type the following command from the Hue installation root.
+
+If using CM, export this variable in order to point to the correct database:
+
+{{< highlight bash >}}HUE_CONF_DIR=/var/run/cloudera-scm-agent/process/-hue-HUE_SERVER-id
+
+echo $HUE_CONF_DIR
+
+export HUE_CONF_DIR{{< /highlight >}}
+
+Where <id> is the most recent ID in that process directory for hue-HUE_SERVER.
+
+A quick way to get the correct directory is to use this script:
+
+{{< highlight bash >}}export HUE_CONF_DIR="/var/run/cloudera-scm-agent/process/\`ls -alrt /var/run/cloudera-scm-agent/process | grep HUE | tail -1 | awk '{print $9}'\`"{{< /highlight >}}
+
+Then:
+
+{{< highlight bash >}}cd /usr/lib/hue (or /opt/cloudera/parcels/CDH-XXXXX/share/hue if using parcels and CM)
+
+build/env/bin/hue shell{{< /highlight >}}
+
+The following is a small script, that can be executed within the Hue shell, to change the password for a user named “example”:
+
+{{< highlight python >}}from django.contrib.auth.models import User
+
+user = User.objects.get(username='example')
+
+user.set_password('some password')
+
+user.save()
+
+{{< /highlight >}}
+
+The script can also be invoked in the shell by using input redirection (assuming the script is in a file named script.py):
+
+{{< highlight bash >}}build/env/bin/hue shell < script.py{{< /highlight >}}
+
+# How to make a certain user a Hue admin
+
+{{< highlight bash >}}build/env/bin/hue shell{{< /highlight >}}
+
+Then set these properties to true:
+
+{{< highlight python >}}from django.contrib.auth.models import User
+
+a = User.objects.get(username='hdfs')
+
+a.is_staff = True
+
+a.is_superuser = True
+
+a.set_password('my_secret')
+
+a.save()
+
+{{< /highlight >}}
+
+# How to change or reset a forgotten password?
+
+Go on the Hue machine, then in the Hue home directory and either type:
+
+To change the password of the currently logged in Unix user:
+
+{{< highlight bash >}}build/env/bin/hue changepassword{{< /highlight >}}
+
+If you don’t remember the admin username, create a new Hue admin (you will then also be able to login and could change the password of another user in Hue):
+
+{{< highlight bash >}}build/env/bin/hue createsuperuser{{< /highlight >}}
+
+&nbsp;
+
+# Summary
+
+We hope this helps you manage your password and assists administrators when they’ve lost their own passwords. In a future blog post, we will detail other ways to authenticate with Hue.
+
+Have any suggestions? Feel free to tell us what you think through [hue-user][1] or at [@gethue][2].
+
+ [1]: https://groups.google.com/a/cloudera.org/forum/?fromgroups#!forum/hue-user
+ [2]: https://twitter.com/gethue/

+ 111 - 0
docs/gethue/content/posts/2013-10-14-hadoop-tutorial-bundle-oozie-coordinators-with-hue.md

@@ -0,0 +1,111 @@
+---
+title: 'Season II: 5. Bundle Oozie coordinators with Hue'
+author: admin
+type: post
+date: 2013-10-14T03:23:25+00:00
+url: /hadoop-tutorial-bundle-oozie-coordinators-with-hue/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/63988110361/hadoop-tutorial-bundle-oozie-coordinators-with-hue
+tumblr_gethue_id:
+  - 63988110361
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+categories:
+  - Scheduling
+  - Tutorial
+
+---
+<p id="docs-internal-guid-4ab313a2-b4f9-6636-ef5e-6ec66cd3ea40">
+  <a href="http://gethue.com"><span>Hue</span></a><span> provides a </span><a href="http://gethue.tumblr.com/tagged/oozie"><span>great Oozie UI</span></a><span> in order to use Oozie without typing any XML. In </span><a href="http://gethue.tumblr.com/post/61597968730/hadoop-tutorials-ii-3-schedule-hive-queries-with"><span>Tutorial 3</span></a><span>, we demonstrate how to use an Oozie coordinator for scheduling a daily top 10 of restaurants. Now lets imagine that we also want to compute a top 10 and 100. How can we do this? One solution is to use Oozie bundles.</span>
+</p>
+
+&nbsp;
+
+<iframe src="https://player.vimeo.com/video/76519513?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop Tutorial: Bundle Oozie coordinators with Hue" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+&nbsp;
+
+# <span>Workflow and Coordinator updates</span>
+
+<span>Bundles are are way to group coordinators together into a set. This set is easier to manage as a unique instance and can be parameterized too.</span>
+
+&nbsp;
+
+<span>The first step is to replace 10 by a variable ${n} in our Hive </span>[<span>script</span>][1]<span>:</span>
+
+<pre class="code">CREATE TABLE top_cool AS
+SELECT r.business_id, name, SUM(cool) AS coolness, '${date}' as `date`
+FROM review r JOIN business b
+ON (r.business_id = b.business_id)
+WHERE categories LIKE '%Restaurants%'
+AND `date` = '${date}'
+GROUP BY r.business_id, name
+ORDER BY coolness DESC
+LIMIT ${n}</pre>
+
+<span>Then, in the workflow, we add a parameter in the Hive action: </span><span>n=${n}</span><span>. You can test the workflow by submitting it and providing 10 for the value n.</span>
+
+&nbsp;
+
+<span>We now need to tell the Coordinator to fill-up with a value. For testing purpose, going to Step #5 of the editor and adding a ‘</span><span>Workflow properties</span><span>’ named ‘</span><span>n</span><span>’ and with value ‘</span><span>10</span><span>’ would produce the same result as in </span>[<span>Tutorial 1</span>][2]<span>. In practice these properties are mostly used for entering constants and </span>[<span>EL functions</span>][3] <span>that will directly provide a value to the workflow.</span>
+
+&nbsp;
+
+## <span>Bundle Editor</span>
+
+<span>Lets create a new Bundle named ‘</span><span>daily_tops</span><span>’ with a kickoff date of 20121201. On the left panel, click on ‘</span><span>Add</span><span>’ in the Coordinator section. Select our ‘</span><span>daily_top</span><span>’ coordinator and a property named ‘</span><span>n</span><span>’ and with value ‘</span><span>10</span><span>’.</span>
+
+&nbsp;
+
+<span>Add again the same coordinator and this time pick ‘</span><span>10</span><span>’ for the value of ‘</span><span>n</span><span>’. Repeat with ‘</span><span>n</span><span>’ set to ‘</span><span>100</span><span>’.</span>
+
+&nbsp;
+
+## <span>Bundle Dashboard</span>
+
+<span>You are now ready to go and submit the bundle! You can follow the overall progress in the Bundle dashboard. Bundles can be stopped, killed and re-run. Clicking on an instantiation will link to the corresponding coordinator which is also linking to its generated workflows.</span>
+
+&nbsp;
+
+# <span>Sum-up</span>
+
+<span>Of course, more efficient solutions exist than those in our simplified example. In practice Bundles are great for parameterizing non-date variables like market names (e.g. US, France). Another use case it to group together a series of coordinators in order to make them easier to manage (e.g. start, stop, re-run). Notice that the latest version of Hue that contains </span>[<span>HUE-1546</span>][4] <span>was used in the video.</span>
+
+&nbsp;
+
+<span>Hue comes up with a full set of Workflow/Coordinator/Bundle examples, ready to be submitted or copied. Hue can even be used with only its Oozie UI Dashboard, making it a breeze to manage Oozie in your browser. </span>
+
+<span>Next, we will see how to browse our Yelp data in HBase! As usual feel free to comment on the </span>[<span>hue-user</span>][5] <span>list or </span>[<span>@gethue</span>][6]<span>!</span>
+
+ [1]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/hive-workflow/select_top_n.sql
+ [2]: http://gethue.tumblr.com/post/60937985689/hadoop-tutorials-ii-2-execute-hive-queries-and
+ [3]: http://blog.cloudera.com/blog/2013/09/how-to-write-an-el-function-in-apache-oozie/
+ [4]: https://issues.cloudera.org/browse/HUE-1546
+ [5]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [6]: https://twitter.com/gethue

+ 55 - 0
docs/gethue/content/posts/2013-10-20-stockholm-hug-hue-the-hadoop-ui.md

@@ -0,0 +1,55 @@
+---
+title: 'Stockholm HUG: Hue: The Hadoop UI'
+author: admin
+type: post
+date: 2013-10-20T23:42:00+00:00
+url: /stockholm-hug-hue-the-hadoop-ui/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/64628672317/stockholm-hug-hue-the-hadoop-ui
+tumblr_gethue_id:
+  - 64628672317
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - News
+
+---
+<blockquote class="link_og_blockquote">
+  <div>
+    HUE Enrico Berti - Cloudera - Stockholm HUG @ Spotify - Oct 2013
+  </div>
+</blockquote>
+
+<div>
+  <strong> <a title="Hue: The Hadoop UI - Stockholm HUG" href="https://www.slideshare.net/gethue/hue-the-hadoop-ui-stockholm-hug" target="_blank" rel="noopener noreferrer">Hue: The Hadoop UI - Stockholm HUG</a> </strong> from <strong><a href="http://www.slideshare.net/gethue" target="_blank" rel="noopener noreferrer">gethue</a></strong>
+</div>
+
+<iframe src="http://www.slideshare.net/slideshow/embed_code/27209016" height="550" width="900" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>

+ 147 - 0
docs/gethue/content/posts/2013-10-21-hadoop-tutorial-use-pig-and-hive-with-hbase.md

@@ -0,0 +1,147 @@
+---
+title: 'Season II: 6. Use Pig and Hive with HBase'
+author: admin
+type: post
+date: 2013-10-21T20:41:35+00:00
+url: /hadoop-tutorial-use-pig-and-hive-with-hbase/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/64707633719/hadoop-tutorial-use-pig-and-hive-with-hbase
+tumblr_gethue_id:
+  - 64707633719
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+categories:
+  - Browsing
+  - Querying
+  - Tutorial
+
+---
+<p id="docs-internal-guid-6762db62-dcbc-201d-e1c6-4f70083f264f">
+  <span>The HBase app is an elegant way to visualize and search a lot of data. </span><a href="http://hbase.apache.org/"><span>Apache HBase</span></a><span> tables can be tricky to update as they require lower level API. Some good alternative for simplifying the data management or access is to use Apache Pig or Hive.</span>
+</p>
+
+&nbsp;
+
+<span>In this post we are going to show how to load our yelp data from the </span>[<span>Oozie Bundles</span>][1] <span>episode into HBase with Hive. Then we will use the </span>[<span>HBase Browser</span>][2] <span>to visualize it and Pig to compute some statistics.</span>
+
+<iframe src="https://player.vimeo.com/video/76700456?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop Tutorial: Use Pig and Hive with HBase" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+&nbsp;
+
+# <span>Access HBase with Hive</span>
+
+&nbsp;
+
+<span>First, let’s use Beeswax to create a Hive table that is persisted as a HBase table. The script works as intended when using HiveServer2 as the Hive backend. Some HBase jar need to be registered, as shown in the video.</span>
+
+&nbsp;
+
+<span>In our use case of Yelp data, </span>[<span>map</span>][3] <span>is the correct data type for our HBase that will created as </span>[<span>EXTERNAL</span>][3]<span>.</span>
+
+&nbsp;
+
+<span>Here is the </span>[<span>create table statement</span>][4] <span>for creating a table that is going to store the top N coolest restaurants for everyday:</span>
+
+&nbsp;
+
+<pre class="code">set hbase.zookeeper.quorum my-hbase.com
+
+CREATE TABLE top_cool_hbase (key string, value map&lt;string, int&gt;)
+STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
+WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,review:")
+TBLPROPERTIES ("hbase.table.name" = "top_cool");</pre>
+
+&nbsp;
+
+<span>In order to allow Hive to use HBase some jars need to be registered (one by session). Upload them on HDFS and add them as resources in the first create table query:</span>
+
+<pre class="code">/usr/lib/hive/lib/zookeeper.jar;
+/usr/lib/hive/lib/hbase.jar;
+/usr/lib/hive/lib/hive-hbase-handler-0.XX.0-cdhX.X.X.jar
+/usr/lib/hive/lib/guava-11.0.2.jar;</pre>
+
+&nbsp;
+
+<span>Then lets add data to our new table. We copy it from our top_cool table of the </span>[<span>previous episode</span>][1]<span>.</span>
+
+<pre class="code">INSERT OVERWRITE TABLE top_cool_hbase SELECT name, map(`date`, cast(coolness as int)) FROM top_cool</pre>
+
+&nbsp;
+
+<span>If you don’t have the table from the past episode, you can still use the one from </span>[<span>episode one</span>][5] <span>as a workaround:</span>
+
+<pre class="code">INSERT OVERWRITE TABLE top_cool_hbase SELECT name, map(`date`, cast(r.stars as int)) FROM review r JOIN business b ON r.business_id = b.business_id;</pre>
+
+<span>Access HBase with HBase Browser</span>
+
+<span>As seen in the video, the HBase app provides a slick new Web interface to HBase.</span>
+
+&nbsp;
+
+# <span>Access HBase with Pig</span>
+
+<span>Pig comes with some built-in </span>[<span>HBaseStorage</span>][6] <span>and HBaseLoader. After registering two jars, you will be able to use them. Here is the </span>[<span>script</span>][7] <span>for dumping all the counts of a particular day:</span>
+
+&nbsp;
+
+<pre class="code">REGISTER /usr/lib/zookeeper/zookeeper-3.4.5-cdhX.X.X.jar
+REGISTER /usr/lib/hbase/hbase-0.94.6-cdhX.X.X-security.jar
+
+set hbase.zookeeper.quorum 'localhost'
+
+data = LOAD 'hbase://top_cool'
+       USING org.apache.pig.backend.hadoop.hbase.HBaseStorage('review:*', '-loadKey true')
+       as (name:CHARARRAY, dates:MAP[]);
+
+counts =
+    FOREACH data
+    GENERATE name, dates#'2012-12-02';
+
+DUMP counts;</pre>
+
+&nbsp;
+
+# <span>Sum-up</span>
+
+<span>Hive and Pig are excellent tools for manipulating HBase data. All combinations are possible, the sky is the limit! For example you could load from HBase and save into Hive table with Pig or use Hive SQL to query HBase tables. You can even pull HDFS or Hive data from Pig with </span>[<span>Hcatalog</span>][8]<span>, save it into HBase (or vice versa) and browse it with HBase Browser!</span>
+
+<span>Next time, let’s see how to create a search engine from the Yelp data!</span>
+
+<span>As usual, if you have questions or feedback, feel free to contact the Hue community on </span>[<span>hue-user</span>][9] <span>or </span>[<span>@gethue.com</span>][10]<span>!</span>
+
+ [1]: http://gethue.tumblr.com/post/63988110361/hadoop-tutorial-bundle-oozie-coordinators-with-hue
+ [2]: http://gethue.tumblr.com/post/59071544309/the-web-ui-for-hbase-hbase-browser
+ [3]: https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration
+ [4]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/hbase-hive-pig/create_hbase_table.sql
+ [5]: http://gethue.tumblr.com/post/60376973455/hadoop-tutorials-ii-1-prepare-the-data-for-analysis
+ [6]: http://pig.apache.org/docs/r0.11.1/func.html#HBaseStorage
+ [7]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/hbase-hive-pig/load_hbase.pig
+ [8]: http://gethue.tumblr.com/post/56804308712/hadoop-tutorial-how-to-access-hive-in-pig-with
+ [9]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [10]: http://twitter.com/gethue

+ 198 - 0
docs/gethue/content/posts/2013-10-23-tutorial-better-file-formats-for-impala-and-quick-sql.md

@@ -0,0 +1,198 @@
+---
+title: Better file formats for Impala and quick SQL in Hadoop
+author: admin
+type: post
+date: 2013-10-23T18:03:00+00:00
+url: /tutorial-better-file-formats-for-impala-and-quick-sql/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/64879465564/tutorial-better-file-formats-for-impala-and-quick-sql
+tumblr_gethue_id:
+  - 64879465564
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Querying
+
+---
+# <span>Impala File Formats</span> {#docs-internal-guid-798b2644-e679-81ed-508c-e3685cd16a67}
+
+<span>Using the best file format is crucial for getting great performances. This is one reason with JSON is no supported in the </span>[<span>Impala application</span>][1]<span>. Indeed, parsing or retrieving all the text record even for one field would damage the performance badly. Impala is recommending a series of alternative</span>[<span>formats</span>][2]<span>. </span>
+
+&nbsp;
+
+<span>We show here how to create a Hive table in Avro format containing json data and a table in the new parquet format. We are using the same Yelp data from </span>[<span>Episode 2 of the Season 2</span>][3] <span>of the Hadoop Tutorial series. </span>
+
+&nbsp;
+
+## Avro
+
+<span>The first step is to convert our data into JSON with the help of a Pig script. Open up the </span>[<span>Pig Editor</span>][4] <span>and run:</span>
+
+&nbsp;
+
+{{< highlight sql >}}REGISTER piggybank.jar
+
+data = load '/user/hive/warehouse/review/yelp_academic_dataset_review_clean.json'
+
+AS (funny:INT, useful:INT, cool:INT, user_id:CHARARRAY, review_id:CHARARRAY, text:CHARARRAY, business_id:CHARARRAY, stars:INT, date:CHARARRAY, type:CHARARRAY);
+
+data_clean = FILTER data BY business_id IS NOT NULL AND text IS NOT NULL;
+
+STORE data_clean INTO 'impala/reviews_avro'
+
+USING org.apache.pig.piggybank.storage.avro.AvroStorage(
+
+'{
+
+"schema": {
+
+"name": "review",
+
+"type": "record",
+
+"fields": [
+
+{"name":"funny", "type":"int"},
+
+{"name":"useful", "type":"int"},
+
+{"name":"cool", "type":"int"},
+
+{"name":"user_id", "type":"string"}
+
+{"name":"review_id", "type":"string"},
+
+{"name":"text", "type":"string"},
+
+{"name":"business_id", "type":"string"},
+
+{"name":"stars", "type":"int"},
+
+{"name":"date", "type":"string"},
+
+{"name":"type", "type":"string"},
+
+]}
+
+}');{{< /highlight >}}
+
+&nbsp;
+
+<span>Then, in the </span>[<span>Hive Editor</span>][5] <span>create the table with:</span>
+
+&nbsp;
+
+{{< highlight sql >}}CREATE TABLE review_avro
+
+ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
+
+STORED AS
+
+inputformat 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
+
+outputformat 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
+
+LOCATION '/user/romain/impala/reviews_avro'
+
+tblproperties ('avro.schema.literal'='{
+
+"name": "review",
+
+"type": "record",
+
+"fields": [
+
+{"name":"business_id", "type":"string"},
+
+{"name":"cool", "type":"int"},
+
+{"name":"date", "type":"string"},
+
+{"name":"funny", "type":"int"},
+
+{"name":"review_id", "type":"string"},
+
+{"name":"stars", "type":"int"},
+
+{"name":"text", "type":"string"},
+
+{"name":"type", "type":"string"},
+
+{"name":"useful", "type":"int"},
+
+{"name":"user_id", "type":"string"}]}'
+
+);{{< /highlight >}}
+
+&nbsp;
+
+<span>You can now go back to Impala, and use the table after having refreshed the metadata with:</span>
+
+&nbsp;
+
+{{< highlight sql >}}REFRESH avro_table{{< /highlight >}}
+
+&nbsp;
+
+## Parquet
+
+<span>Parquet is a new column-oriented binary file format, particularly efficient in Impala. Here is how to create a table from the Impala app:</span>
+
+&nbsp;
+
+{{< highlight sql >}}CREATE TABLE review_parquet LIKE review STORED AS PARQUETFILE;{{< /highlight >}}
+
+&nbsp;
+
+<span>And then load data:</span>
+
+&nbsp;
+
+{{< highlight sql >}}INSERT OVERWRITE review_parquet SELECT * FROM review;{{< /highlight >}}
+
+&nbsp;
+
+<span>Take the time to read about the goal of each format and how to enable compression. If you want to know more, the </span>[<span>Impala tuning guide</span>][6] <span>is a good reference too.</span>
+
+&nbsp;
+
+<span>As usual feel free to comment on the </span>[hue-user][7] list or [<span>@gethue</span>][8]<span>!</span>
+
+&nbsp;
+
+ [1]: http://gethue.tumblr.com/post/62452792255/fast-sql-with-the-impala-query-editor
+ [2]: http://www.cloudera.com/content/cloudera-content/cloudera-docs/Impala/latest/Installing-and-Using-Impala/ciiu_file_formats.html
+ [3]: http://gethue.tumblr.com/post/60937985689/hadoop-tutorials-ii-2-execute-hive-queries-and
+ [4]: http://gethue.tumblr.com/tagged/pig
+ [5]: http://gethue.tumblr.com/tagged/hive
+ [6]: http://www.cloudera.com/content/cloudera-content/cloudera-docs/Impala/latest/Installing-and-Using-Impala/ciiu_performance.html
+ [7]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [8]: https://twitter.com/gethue

+ 182 - 0
docs/gethue/content/posts/2013-10-24-hadoop-tutorial-hive-query-editor-with-hiveserver2-and.md

@@ -0,0 +1,182 @@
+---
+title: Hive Query editor with HiveServer2 and Sentry
+author: admin
+type: post
+date: 2013-10-24T01:21:00+00:00
+url: /hadoop-tutorial-hive-query-editor-with-hiveserver2-and/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/64916325309/hadoop-tutorial-hive-query-editor-with-hiveserver2-and
+tumblr_gethue_id:
+  - 64916325309
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Querying
+
+---
+<p id="docs-internal-guid-2b663878-e805-7a5b-0d8e-b165706741fc">
+  <span>Hue provides a Web interface for submitting Hive queries. Hue had its own server to service Hive queries called Beeswax. The more sophisticated and robust service, Apache </span><a href="http://blog.cloudera.com/blog/2013/07/how-hiveserver2-brings-security-and-concurrency-to-apache-hive/"><span>HiveServer2</span></a><span>, is supported as of Hue 2.5.</span>
+</p>
+
+<iframe src="https://player.vimeo.com/video/79883574?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop Tutorial - Hue - Hive Query editor with HiveServer2 and Sentry" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+# <span>Beeswax Hive Editor</span>
+
+Thanks to HiveServer2 integration, Hue is getting the benefits from [Sentry][1] (How to [configure Sentry Video][2]). In addition to the [<span>security</span>][3] provided, Hue’s interface becomes more consistent. For example, a user without permissions on a database or table won’t see it in the query editor or in the [<span>Metastore app</span>][4].
+
+<span>HiveServer2 also provides performant access to the </span>[<span>Metastore</span>][4]<span>.</span>
+
+<span>On top of this, the Beeswax Hive UI is a Web editor for increasing the productivity:</span>
+
+  * <span>Syntax highlighting and auto completion</span>
+  * <span>Submit several queries and check they progress later</span>
+  * [<span>UDF</span>][5] <span>integration</span>
+  * <span>Multiple queries execution</span>
+  * <span>Select and send a fraction of a query</span>
+  * <span>Download or save the query results</span>
+  * <span>Navigate through the metadata</span>
+
+## <span>Hue 2.x</span>
+
+<span>We recommend to use the latest version of Hue (2.5). Have Hue point to HiveServer2 by updating the Beeswax section in the </span>[<span>hue.ini</span>][6]<span>:</span>
+
+<pre class="code">[beeswax]
+  beeswax_server_host=&lt;FQDN of Beeswax server&gt;
+  server_interface=hiveserver2
+  beeswax_server_port=10000</pre>
+
+## <span>Hue 3.x</span>
+
+<span>Hue 3 does not bundle Beeswaxd anymore, and is configured by default to use HiveServer2. If HiveServer2 is not on the same machine as Hue update </span>[<span>hue.ini</span>][7] <span>with:</span>
+
+<pre class="code">[beeswax]
+ hive_server_host=&lt;FQDN of HiveServer2&gt;</pre>
+
+<span>Other Hive specific settings (e.g. security, impersonation) are read from a local </span>[<span>/etc/hive/conf/hive-site.xml</span>][8]<span>. We recommend to keep this one in exact sync with the original Hive one (or put Hue and Hive on the same machine).</span>
+
+<span><strong><br /> Note</strong>:</span>
+
+If you are using Hive 0.12 or later, Hue needs to have [HUE-1561][9] (or use Hue 3.0 or later).
+
+## With Sentry: Hue 2.x or 3.x
+
+Hue will automatically work with a HiveServer2 configured with Sentry.
+
+Notice that HiveServer2 impersonation (described below) should be turned off in case of Sentry. Permissions of the impersonated user (e.g. ‘bob’) will be used instead of the ones of the ‘hue’ user. Also we need the warehouse permissions to be owned by hive:hive with 770 so that only super users in hive group can read, write.
+
+HiveServer2 needs to be using strong authentication like Kerberos/LDAP for Sentry to work.
+
+# <span>Troubleshooting without Sentry</span>
+
+<pre class="code">org.apache.hive.service.cli.HiveSQLException: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Got exception: org.apache.hadoop.security.AccessControlException Permission denied: user=hive, access=WRITE, inode="/user/test/data":test:supergroup:drwxr-xr-x</pre>
+
+<span>By default HiveServer2 now owns the Hive warehouse (default ‘</span><span>/user/hive/warehouse</span><span>’), meaning the data files need to belong to the ‘hive’ user. If you get this error when creating a table, change the permission of the data directory (here </span><span>/user/test/data</span><span>) to ‘write’ for everybody or revert HiveServer2 to the old Beeswax behavior by authorizing ‘hive’ to impersonate the user. </span>
+
+Adding ‘hive’ as a Hadoop [proxy user][10] and edit your hive-site.xml:
+
+<pre class="code">&lt;property&gt;
+   &lt;name&gt;hive.server2.enable.doAs&lt;/name&gt;
+   &lt;value&gt;true&lt;/value&gt;
+ &lt;/property&gt;</pre>
+
+<span>Then restart HiveServer2:</span>
+
+<pre class="code">sudo service hive-server2 restart</pre>
+
+<span>Another common error when using YARN is:</span>
+
+<pre class="code">Cannot initialize Cluster. Please check your configuration for mapreduce.framework.name and the correspond server addresses.</pre>
+
+It means that the HADOOP_MAPRED_HOME environment variable is not set to:
+
+<pre class="code">export HADOOP_MAPRED_HOME=/usr/lib/hadoop-mapreduce</pre>
+
+<span>HADOOP_HOME could also be wrong.</span>
+
+<pre class="code">TTransportException('Could not start SASL: Error in sasl_client_start (-4) SASL(-4): no mechanism available: No worthy mechs found',)</pre>
+
+<span>Hue is missing a </span>[<span>SASL lib</span>][11] <span>in your system.</span>
+
+<span>HiveServer2 supports 3 authentication modes specified by the ‘hive.server2.authentication’ in hive-site.xml:</span>
+
+  * <span>NOSASL</span>
+  * <span>NONE (default)</span>
+  * <span>KERBEROS</span>
+
+Only NOSASL does not require SASL, so you either switch to it or install the missing packages.
+
+Hue will pick the value from its local [/etc/hive/conf/hive-site.xml][12] so make sure it is synced with the original hive-site.xml (manually or via CM Beeswax safety valve).
+
+e.g.
+
+<property>
+
+<name>hive.server2.authentication</name>
+
+<value>NOSASL</value>
+
+</property>
+
+<pre class="code"></pre>
+
+<pre class="code">Error while compiling statement: FAILED: RuntimeException org.apache.hadoop.security.AccessControlException: Permission denied: user=admin, access=WRITE, inode="/tmp/hive-hive":hive:hdfs:drwxr-xr-x at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:234) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:214) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:158)</pre>
+
+The Hive HDFS workspace ‘/tmp/hive-hive’ would need to be set to 1777 permissions.
+
+# Troubleshooting with Sentry
+
+<pre class="code">AuthorizationException: User 'hue/test.com' does not have privileges to execute 'CREATE' on: default.sample_08"</pre>
+
+The user ‘hue’ is not configured in Sentry and have not the CREATE table permission.
+
+# <span>Conclusion</span>
+
+<span>Hue provides a great environment for executing Hive queries in a friendly UI. Beeswaxd was a great service but has been deprecated in favor of HiveServer2. HiveServer2 offers more stability and security. </span>
+
+<span>As a side note, if you are looking for even faster SQL queries, we encourage you to test the </span>[<span>Impala Editor</span>][13]<span>!</span>
+
+<span>If you have questions or feedback, feel free to contact the Hue community on </span>[<span>hue-user</span>][14] <span>or </span>[<span>@gethue.com</span>][15]<span>!</span>
+
+ [1]: http://cloudera.com/content/cloudera/en/campaign/introducing-sentry.html
+ [2]: https://blogs.apache.org/sentry/entry/getting_started
+ [3]: http://sentry.incubator.apache.org
+ [4]: http://gethue.tumblr.com/tagged/metastore
+ [5]: http://gethue.tumblr.com/post/58711590309/hadoop-tutorial-hive-udf-in-1-minute
+ [6]: https://github.com/cloudera/hue/blob/branch-2.5.1/desktop/conf.dist/hue.ini#L384
+ [7]: https://github.com/cloudera/hue/blob/master/desktop/conf.dist/hue.ini#L438
+ [8]: https://github.com/cloudera/hue/blob/master/desktop/conf.dist/hue.ini#L450
+ [9]: https://issues.cloudera.org/browse/HUE-1561
+ [10]: http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Security-Guide/cdh4sg_topic_9_1.html?scroll=topic_9_1_3_unique_1__title_140_unique_1
+ [11]: https://github.com/cloudera/hue#development-prerequisites
+ [12]: https://github.com/cloudera/hue/blob/master/desktop/conf.dist/hue.ini#L471
+ [13]: http://gethue.tumblr.com/post/62452792255/fast-sql-with-the-impala-query-editor
+ [14]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [15]: http://twitter.com/gethue

+ 47 - 0
docs/gethue/content/posts/2013-10-29-apache-hive-editor-and-hive-metastore-browser.md

@@ -0,0 +1,47 @@
+---
+title: Apache Hive Editor and Hive Metastore browser
+author: admin
+type: post
+date: 2013-10-29T15:27:00+00:00
+url: /apache-hive-editor-and-hive-metastore-browser/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/65436565299/apache-hive-editor-and-hive-metastore-browser
+tumblr_gethue_id:
+  - 65436565299
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Browsing
+  - Querying
+  - News
+
+---
+<iframe src="http://www.slideshare.net/slideshow/embed_code/27695672" height="495" width="900" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>

+ 175 - 0
docs/gethue/content/posts/2013-11-04-hadoop-tutorials-season-ii-7-how-to-index-and-search.md

@@ -0,0 +1,175 @@
+---
+title: 'Season II: 7. How to index and search Yelp data with Solr'
+author: admin
+type: post
+date: 2013-11-04T04:33:00+00:00
+url: /hadoop-tutorials-season-ii-7-how-to-index-and-search/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/65969470780/hadoop-tutorials-season-ii-7-how-to-index-and-search
+tumblr_gethue_id:
+  - 65969470780
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+categories:
+  - Querying
+  - Tutorial
+
+---
+<p id="docs-internal-guid-6e44f291-2156-8489-431b-b515176c9fec">
+  <span>In the previous episode we saw how to use </span><a href="http://gethue.tumblr.com/post/64707633719/hadoop-tutorial-use-pig-and-hive-with-hbase"><span>Pig and Hive with HBase</span></a><span>. This time, let’s see how to make our Yelp data searchable by indexing it and building a customizable UI with the </span><a href="http://gethue.tumblr.com/post/52804483421/tutorial-search-hadoop-in-hue"><span>Hue Search app</span></a><span>.</span>
+</p>
+
+&nbsp;
+
+<iframe src="https://player.vimeo.com/video/76878078?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop Tutorial: How to index and search data with Solr" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+&nbsp;
+
+# <span>Indexing data into Solr</span>
+
+&nbsp;
+
+<span>This tutorial is based on </span>[<span>SolrCloud</span>][1]<span>. Here is a step by step </span>[<span>guide</span>][2] <span>about its installation and a list of required </span>[<span>packages</span>][2]<span>:</span>
+
+  * <span>solr-server</span>
+  * <span>solr-mapreduce</span>
+  * <span>search</span>
+
+&nbsp;
+
+<span>Next step is about deploying and configuring Solr Cloud. We are following the </span>[<span>documentation</span>][3]<span>.</span>
+
+&nbsp;
+
+<span>After this, we </span>[<span>create</span>][4] <span>a new collection and index named ‘reviews’. We use our predefined schema that needs to be copied from the </span>[<span>Hadoop tutorial github</span>][5]<span>.</span>
+
+&nbsp;
+
+<pre class="code">cp solr_local/conf/schema.xml solr_configs/conf/schema.xml
+
+solrctl instancedir --create reviews solr_local
+
+solrctl collection --create reviews -s 1</pre>
+
+<span>We replace the field definitions in the </span>[<span>schema</span>][6] <span>with a mapping corresponding to our Yelp data. The schema represents each data fields that will be available in the search index. You can read more about schema.xml in the </span>[<span>Solr wiki</span>][7]<span>.</span>
+
+<pre class="code"> &lt;field name="business_id" type="text_en" indexed="true" stored="true" /&gt;  
+  &lt;field name="cool" type="tint" indexed="true" stored="true" /&gt;
+  &lt;field name="date" type="text_en" indexed="true" stored="true" /&gt;
+  &lt;field name="funny" type="tint" indexed="true" stored="true" /&gt;
+  &lt;field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /&gt;  
+  &lt;field name="stars" type="tint" indexed="true" stored="true" /&gt;
+  &lt;field name="text" type="text_en" indexed="true" stored="true" /&gt;
+  &lt;field name="type" type="text_en" indexed="true" stored="true" /&gt;         
+  &lt;field name="useful" type="tint" indexed="true" stored="true" /&gt;
+  &lt;field name="user_id" type="text_en" indexed="true" stored="true" /&gt;
+  &lt;field name="name" type="text_en" indexed="true" stored="true" /&gt;
+  &lt;field name="full_address" type="text_en" indexed="true" stored="true" /&gt;
+  &lt;field name="latitude" type="tfloat" indexed="true" stored="true" /&gt;
+  &lt;field name="longitude" type="tfloat" indexed="true" stored="true" /&gt;
+  &lt;field name="neighborhoods" type="text_en" indexed="true" stored="true" /&gt;
+  &lt;field name="open" type="text_en" indexed="true" stored="true" /&gt;
+  &lt;field name="review_count" type="tint" indexed="true" stored="true" /&gt;
+  &lt;field name="state" type="text_en" indexed="true" stored="true" /&gt;</pre>
+
+Then, we retrieve and clean a subset of our Yelp data with a [Hive query][8], download it as CSV and index it with the [indexer tool][9] and this [command][10]:
+
+<pre class="code">hadoop jar /usr/lib/solr/contrib/mr/search-mr-*-job.jar org.apache.solr.hadoop.MapReduceIndexerTool -D 'mapred.child.java.opts=-Xmx500m' --log4j /usr/share/doc/search*/examples/solr-nrt/log4j.properties --morphline-file solr_local/reviews.conf --output-dir hdfs://localhost:8020/tmp/load --verbose --go-live --zk-host localhost:2181/solr --collection reviews hdfs://localhost:8020/tmp/query_result.csv</pre>
+
+<span>The command will use our </span>[<span>morphline file</span>][11] <span>to map the Yelp data to the fields defined in our index schema.xml.</span>
+
+<span>While debugging morphline, the </span><span>—dry-run</span> <span>option will save you some time.</span>
+
+&nbsp;
+
+# <span>Customize the search result</span>
+
+The administration panel lets you tweak the look & feel and features of the search page. This is explained in the second part of the video.
+
+&nbsp;
+
+# <span>Conclusion</span>
+
+<span>Cloudera Search is great for opening your user base to Hadoop and do quick data retrieval. Some other articles describes greatly some user use cases, like </span>[<span>email</span>][12] <span>or </span>[<span>customer data</span>][13] <span>search.</span>
+
+Cloudera Morphline is also an interesting tool for facilitating the indexing of your data. You can learn more about it on its [project website][14].
+
+As usual feel free to comment on the [hue-user][15] list or [@gethue][16]!
+
+&nbsp;
+
+# <span>Troubleshooting</span>
+
+1. If you see this error:
+
+org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException:Error CREATEing SolrCore ‘reviews_shard1_replica1’: Unable to create core: reviews_shard1_replica1 Caused by: Could not find configName for collection reviews found:null</str>
+
+<span>You might have forgotten to create the collection:</span>
+
+<pre class="code">solrctl instancedir --create review solr_configs
+
+</pre>
+
+<span>2. If you see this error:</span>
+
+<pre class="code">ERROR - 2013-10-10 20:01:21.383; org.apache.solr.servlet.SolrDispatchFilter; Could not start Solr. Check solr/home property and the logs
+ERROR - 2013-10-10 20:01:21.409; org.apache.solr.common.SolrException; null:org.apache.solr.common.SolrException: solr.xml not found in ZooKeeper
+       at org.apache.solr.core.ConfigSolr.fromSolrHome(ConfigSolr.java:109)
+Server is shutting down</pre>
+
+<span>You might need to force Solr to reload the configuration. Beware, this might break ZooKeeper and you might need to read error #3.</span>
+
+&nbsp;
+
+<span>3. If you see this error:</span>
+
+<pre class="code">KeeperErrorCode = NoNode for /overseer/collection-queue-work&lt;/str&gt;
+&lt;str name="trace"&gt;
+org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /overseer/collection-queue-work</pre>
+
+&nbsp;
+
+<span>It probably comes from error #2. You might need to re-upload the config and recreate the collection.</span>
+
+ [1]: http://wiki.apache.org/solr/SolrCloud
+ [2]: http://www.cloudera.com/content/cloudera-content/cloudera-docs/Search/latest/Cloudera-Search-Installation-Guide/csig_install_search.html
+ [3]: http://www.cloudera.com/content/cloudera-content/cloudera-docs/Search/latest/Cloudera-Search-Installation-Guide/csig_deploy_search_solrcloud.html
+ [4]: http://www.cloudera.com/content/cloudera-content/cloudera-docs/Search/latest/Cloudera-Search-Installation-Guide/csig_runtime_solr_config.html
+ [5]: https://github.com/romainr/hadoop-tutorials-examples/tree/master/solr-local-search
+ [6]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/solr-local-search/solr_local/conf/schema.xml#L109
+ [7]: http://wiki.apache.org/solr/SchemaXml
+ [8]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/solr-local-search/data_subset.sql
+ [9]: http://www.cloudera.com/content/cloudera-content/cloudera-docs/Search/latest/Cloudera-Search-User-Guide/csug_batch_index_to_solr_servers_using_golive.html
+ [10]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/solr-local-search/load_index.sh
+ [11]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/solr-local-search/solr_local/reviews.conf
+ [12]: http://blog.cloudera.com/blog/2013/09/email-indexing-using-cloudera-search/
+ [13]: http://blog.cloudera.com/blog/2013/09/secrets-of-cloudera-support-impala-and-search-make-the-customer-experience-even-better/
+ [14]: http://cloudera.github.io/cdk/docs/current/cdk-morphlines/index.html
+ [15]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [16]: https://twitter.com/gethue

+ 116 - 0
docs/gethue/content/posts/2013-11-08-hadoop-tutorials-series-ii-8-how-to-transfer-data.md

@@ -0,0 +1,116 @@
+---
+title: 'Season II: 8. How to transfer data from Hadoop with Sqoop 2'
+author: admin
+type: post
+date: 2013-11-08T05:23:00+00:00
+url: /hadoop-tutorials-series-ii-8-how-to-transfer-data/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/66348238493/hadoop-tutorials-series-ii-8-how-to-transfer-data
+tumblr_gethue_id:
+  - 66348238493
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+ampforwp-amp-on-off:
+  - default
+categories:
+  - Querying
+  - Tutorial
+
+---
+_Note: Sqoop2 is is not replaced by <https://gethue.com/importing-data-from-traditional-databases-into-hdfshive-in-just-a-few-clicks/>_
+
+&nbsp;
+
+<p id="docs-internal-guid-342afe4b-3626-38d5-0543-797eb6fb3c0a">
+  <a href="http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CCoQFjAA&url=http%3A%2F%2Fsqoop.apache.org%2F&ei=9h9eUt7SKofQkQWy5YCADA&usg=AFQjCNFJ9nOIbX4GN1HakCZayhtKkXEUBw&bvm=bv.54176721,d.dGI">Apache Sqoop</a> is a great tool for moving data (in files or databases) in or out of Hadoop. In Hue 3, a <a href="http://gethue.tumblr.com/post/63064228790/move-data-in-out-your-hadoop-cluster-with-the-sqoop">new app</a> was added for making Sqoop2 easier to use.
+</p>
+
+In this final episode (previous one was about [Search][1]) of the season 2 of the Hadoop Tutorial series let’s see how simple it becomes to export our Yelp results into a MySql table!
+
+<iframe src="https://player.vimeo.com/video/78806241?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop Tutorial - How to transfer data from Hadoop with Sqoop 2 and Hue" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+Sqoop2 currently only [Comma Separated Values][2] files. Moreover, Sqoop2 currently require on export for String constants to be enclosed in single quotes.
+
+We are going to save our data analysis into this format with a [Pig script][3] with the [Pig Editor][4]. Then, as detailed in the video we specify an export job, set the input path as the output of our previous Pig job. The data is in on HDFS and the path can either be a single file or a directory.
+
+We previously created a MySql table ‘stats’ with this [SQL script][5]. This table is going to store the exported data. Here are the properties of our job. They are explained in more depth in the previous Sqoop2 App blog post.
+
+{{< highlight bash >}}Table name: yelp_cool_test
+
+Input directory: /user/hdfs/test_sqoop
+
+Connector: mysql
+
+JDBC Driver Class : com.mysql.jdbc.Driver
+
+JDBC Connection String: jdbc:mysql://hue.com/test
+
+{{< /highlight >}}
+
+Then click ‘Save & Execute’, and here we go, the data is now available in MySql!
+
+&nbsp;
+
+{{< highlight bash >}}mysql> select * from yelp_cool_test limit 2;
+
++--+--+--+--+
+
+| a | b | c | d |
+
++--+--+--+--+
+
+| 1 | 2 | 3 | 4 |
+
+| 2 | 3 | 4 | 5 |
+
++--+--+--+--+
+
+2 rows in set (0.00 sec)
+
+{{< /highlight >}}
+
+Data stored in Hive or HBase can not be sqooped natively yet by Sqoop2. A current (less efficient) workaround would be to dump it to a HDFS directory with [Hive or Pig][6] and then do a similar Sqoop export.
+
+&nbsp;
+
+As usual, if you have questions or feedback, feel free to contact the Hue community on [hue-user][7] or [@gethue.com][8]!
+
+Thank you for watching this [season 2][9]!
+
+ [1]: http://gethue.tumblr.com/post/65969470780/hadoop-tutorials-season-ii-7-how-to-index-and-search
+ [2]: https://en.wikipedia.org/wiki/Comma-separated_values
+ [3]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/sqoop2/stats.pig
+ [4]: http://gethue.tumblr.com/post/51559235973/tutorial-apache-pig-editor-in-hue-2-3
+ [5]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/sqoop2/create_table.sql
+ [6]: http://gethue.tumblr.com/post/64707633719/hadoop-tutorial-use-pig-and-hive-with-hbase
+ [7]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [8]: http://twitter.com/gethue
+ [9]: http://gethue.tumblr.com/tagged/season2

+ 70 - 0
docs/gethue/content/posts/2013-11-08-integrate-external-web-applications-in-any-language.md

@@ -0,0 +1,70 @@
+---
+title: Integrate external Web applications in any language
+author: admin
+type: post
+date: 2013-11-08T13:36:00+00:00
+url: /integrate-external-web-applications-in-any-language/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/66367939672/integrate-external-web-applications-in-any-language
+tumblr_gethue_id:
+  - 66367939672
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Development
+
+---
+<p id="docs-internal-guid-711cc362-37b7-d05c-55d3-ea64d369838b">
+  Completed in <a href="http://gethue.tumblr.com/post/66661140648/hue-team-retreat-thailand">Thailand</a>, <a href="https://issues.cloudera.org/browse/HUE-826">HUE-826</a> brings a new way to integrate external Web application into Hue. Java apps or already existing websites can now be shown as a Hue app with little effort.
+</p>
+
+&nbsp;
+
+<iframe src="https://player.vimeo.com/video/79178858?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop Tutorial - Hue - The new proxy app" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+&nbsp;
+
+For example, let’s integrate Tableau:
+
+<span>To create a new app:</span>
+
+<pre class="code">build/env/bin/hue create_proxy_app my_hue <a href="http://gethue.com">http://gethue.com</a>
+tools/app_reg/app_reg.py --install my_hue --relative-paths</pre>
+
+<span>If you want to update the url later, change it in the ini:</span>
+
+<pre class="code">[my_hue]
+url=http://gethue.com</pre>
+
+<span>As usual feel free to comment on the </span>[<span>hue-user</span>][1] <span>list or </span>[<span>@gethue</span>][2]<span>!</span>
+
+ [1]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [2]: https://twitter.com/gethue

+ 53 - 0
docs/gethue/content/posts/2013-11-08-new-search-feature-graphical-facets.md

@@ -0,0 +1,53 @@
+---
+title: 'New Search feature: Graphical facets'
+author: admin
+type: post
+date: 2013-11-08T06:22:00+00:00
+url: /new-search-feature-graphical-facets/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/66351828212/new-search-feature-graphical-facets
+tumblr_gethue_id:
+  - 66351828212
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Querying
+
+---
+This new feature completed in [Thailand][1] lets you search interactively:
+
+<iframe src="https://player.vimeo.com/video/78887745?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop Tutorial - Hue - The new search graphical facet" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+As usual feel free to comment on the [hue-user][2] list or [@gethue][3]!
+
+ [1]: http://gethue.tumblr.com/post/66661140648/hue-team-retreat-thailand
+ [2]: https://groups.google.com/a/cloudera.org/group/hue-user/
+ [3]: https://twitter.com/gethue

+ 136 - 0
docs/gethue/content/posts/2013-11-11-dbquery-app-mysql-postgresql-oracle-and-sqlite-query.md

@@ -0,0 +1,136 @@
+---
+title: 'DBQuery App: MySQL, PostgreSQL, Oracle and Sqlite Query Editors'
+author: admin
+type: post
+date: 2013-11-11T08:03:00+00:00
+url: /dbquery-app-mysql-postgresql-oracle-and-sqlite-query/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/66661074125/dbquery-app-mysql-postgresql-oracle-and-sqlite-query
+tumblr_gethue_id:
+  - 66661074125
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Querying
+
+---
+[In Thailand][1], a brand new application that enables viewing data in MySQL, PostgreSQL, Oracle and Sqlite has been committed.
+
+Inspired from the Beeswax application, it allows you to query a relational database and view it in a table.
+
+<iframe src="https://player.vimeo.com/video/79020016?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop Tutorial - Hue - The new DB Query app" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+Example of configuration in hue.ini:
+
+{{< highlight bash >}}[librdbms]
+
+\# The RDBMS app can have any number of databases configured in the databases
+
+\# section. A database is known by its section name
+
+\# (IE sqlite, mysql, psql, and oracle in the list below).
+
+[[databases]]
+
+\# sqlite configuration.
+
+[[[sqlite]]]
+
+\# Name to show in the UI.
+
+nice_name=SQLite
+
+\# For SQLite, name defines the path to the database.
+
+name=/home/romain/projects/hue/desktop/desktop.db
+
+\# Database backend to use.
+
+engine=sqlite
+
+\# mysql, oracle, or postgresql configuration.
+
+[[[mysql]]]
+
+\# Name to show in the UI.
+
+nice_name="My SQL DB"
+
+\# For MySQL and PostgreSQL, name is the name of the database.
+
+\# For Oracle, Name is instance of the Oracle server. For express edition
+
+\# this is 'xe' by default.
+
+#name=hue
+
+\# Database backend to use. This can be:
+
+\# 1. mysql
+
+\# 2. postgresql
+
+\# 3. oracle
+
+engine=mysql
+
+\# IP or hostname of the database to connect to.
+
+\## host=localhost
+
+\# Port the database server is listening to. Defaults are:
+
+\# 1. MySQL: 3306
+
+\# 2. PostgreSQL: 5432
+
+\# 3. Oracle Express Edition: 1521
+
+\## port=3306
+
+\# Username to authenticate with when connecting to the database.
+
+user=root
+
+\# Password matching the username to authenticate with when
+
+\# connecting to the database.
+
+password=root
+
+{{< /highlight >}}
+
+**Note**: you can look at the [Hue database guide][2] for installing the DB connectors
+
+&nbsp;
+
+ [1]: http://gethue.tumblr.com/post/66661140648/hue-team-retreat-thailand
+ [2]: http://www.cloudera.com/content/cloudera/en/documentation/core/latest/topics/cdh_ig_hue_database.html

+ 122 - 0
docs/gethue/content/posts/2013-11-11-hue-team-retreat-thailand.md

@@ -0,0 +1,122 @@
+---
+title: 'Hue Team Retreat: Thailand'
+author: admin
+type: post
+date: 2013-11-11T08:05:00+00:00
+url: /hue-team-retreat-thailand/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/66661140648/hue-team-retreat-thailand
+tumblr_gethue_id:
+  - 66661140648
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - News
+
+---
+<p id="docs-internal-guid-7f078eb5-364c-66fe-f5c5-91daef3f06ec">
+  Hue usage and community is growing tremendously and development has been particularly active, culminating with a big Hue 3. This led to a good timing for having the Hue team go celebrate and scout for some exotic inspiration!
+</p>
+
+<iframe src="https://player.vimeo.com/video/79016231?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="The Hue Team Retreat - Thailand 2013" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+After some tough debates, Caribbean and South America were eliminated (for next time!) and the team flew around the globe and landed at Bangkok, shortly followed by the Elephant Island: Ko Chang!
+
+![image][1]
+
+![image][2]
+
+![image][3]
+
+&nbsp;
+
+There, the team immersed into the Thai culture and its welcoming inhabitants. A hard and refreshing week followed:
+
+Swimming
+
+![image][4]
+
+![image][5]
+
+[Beach Villa][6]
+
+![image][7]
+
+![image][8]
+
+Cooking lessons
+
+![image][9]
+
+![image][10]
+
+Thai food, sun, sunsets…
+
+![image][11]
+
+![image][12]
+
+![image][13]
+
+Some <span style="text-decoration: line-through;">Hadoop</span> elephants were also spotted.
+
+![image][14]
+
+And believe it or not, but the team actually achieved some big pieces with for example a [Timeline Graph Search][15], a [Database Query Editor App][16], a [Proxy App][17] and a [Spark App][18]!
+
+&nbsp;
+
+Sawasdee krab!
+
+[Hue Team][19]
+
+![image][20]
+
+ [1]: http://media.tumblr.com/55faeb50dbc027030867c29f2d86e1e9/tumblr_inline_mvxkv2rd4L1qzo3ii.jpg
+ [2]: http://media.tumblr.com/96526bab77905dcb6037f8eb87291e03/tumblr_inline_mw17qwuPj91qzo3ii.jpg
+ [3]: http://media.tumblr.com/536b229f59f2cd2cb190d934b2400616/tumblr_inline_mvxkwinzzw1qzo3ii.jpg
+ [4]: http://media.tumblr.com/aa84cf50b55ff44379d3ef3887c78d22/tumblr_inline_mvxkxaNbYc1qzo3ii.jpg
+ [5]: http://media.tumblr.com/b23b66dd022f30a93d06080f319acb20/tumblr_inline_mvxlbglBZE1qzo3ii.jpg
+ [6]: http://www.peanutvilla.com
+ [7]: http://media.tumblr.com/ad732b34d3ad5ff4823bb6f8cd44b0e7/tumblr_inline_mvxky75KyU1qzo3ii.jpg
+ [8]: http://media.tumblr.com/68e81d65719487080c8428632c57f7ef/tumblr_inline_mvxkyyAnG21qzo3ii.jpg
+ [9]: http://media.tumblr.com/560ae7ff9810bb865034edbfe8d1a4b6/tumblr_inline_mvxkztTg1U1qzo3ii.jpg
+ [10]: http://media.tumblr.com/9ceb3ff1e5188179ced0cde855b2efb2/tumblr_inline_mvxl0mcoUH1qzo3ii.jpg
+ [11]: http://media.tumblr.com/cf2a95757eaab088ac664e7b06b5b8a0/tumblr_inline_mvxl1dHoKf1qzo3ii.jpg
+ [12]: http://media.tumblr.com/a5fa58e1e6cfd82bc056b1ba037c80ae/tumblr_inline_mvxl28Yvn51qzo3ii.jpg
+ [13]: http://media.tumblr.com/f05de347e0265a3e997ba486d0e725e7/tumblr_inline_mvxl2vTr9g1qzo3ii.jpg
+ [14]: http://media.tumblr.com/cb586724cd0eca860e327a4fe909e524/tumblr_inline_mvxl3qugm11qzo3ii.jpg
+ [15]: http://gethue.tumblr.com/post/66351828212/new-search-feature-graphical-facets-in-hue-3-5
+ [16]: http://gethue.tumblr.com/post/66661074125/dbquery-app-mysql-and-postgresql-query-editors
+ [17]: http://gethue.tumblr.com/post/66367939672/integrate-external-web-applications-in-any-language
+ [18]: https://dl.dropboxusercontent.com/u/730827/cloudera/spark-app.png
+ [19]: https://twitter.com/gethue
+ [20]: http://media.tumblr.com/5f89fc182d949e6428ba1652ffd87c51/tumblr_inline_mvxl4nVgXp1qzo3ii.jpg

+ 119 - 0
docs/gethue/content/posts/2013-11-19-new-zookeeper-browser-app.md

@@ -0,0 +1,119 @@
+---
+title: New ZooKeeper Browser app!
+author: admin
+type: post
+date: 2013-11-19T18:48:00+00:00
+url: /new-zookeeper-browser-app/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/67482299450/new-zookeeper-browser-app
+tumblr_gethue_id:
+  - 67482299450
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Browsing
+
+---
+<p id="docs-internal-guid-63af2251-71ae-f7cf-e3d8-973b2294f38b">
+  Hello animal lovers, in <a href="http://gethue.tumblr.com/post/62087732649/hue-3-and-the-new-sqoop-and-zookeeper-apps-are-out">Hue 3</a>, a new application was added in order to make <a href="http://zookeeper.apache.org/">Apache ZooKeeper</a> easier to use: ZooKeeper Browser.
+</p>
+
+&nbsp;
+
+The app is not totally new: it consists of a rebasing from Hue 1 to Hue 3 of the [ZooKeeper UI][1] made by Andrei during his Google Summer of Code 3 years ago.
+
+<iframe src="https://player.vimeo.com/video/79795356?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop Tutorial - Hue - The new Zookeeper Browser" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+The main two features are:
+
+  * Listing of the ZooKeeper cluster stats and clients
+  * Browsing and editing of the ZNode hierarchy
+
+&nbsp;
+
+ZooKeeper Browser requires the [ZooKeeper REST][2] service to be running on the same host as ZooKeeper itself. Here is how to set it up:
+
+&nbsp;
+
+First get and build ZooKeeper:
+
+<pre class="code">git clone <a href="https://github.com/apache/zookeeper">https://github.com/apache/zookeeper</a>
+cd zookeeper
+ant
+Buildfile: /home/hue/Development/zookeeper/build.xml
+
+init:
+    [mkdir] Created dir: /home/hue/Development/zookeeper/build/classes
+    [mkdir] Created dir: /home/hue/Development/zookeeper/build/lib
+    [mkdir] Created dir: /home/hue/Development/zookeeper/build/package/lib
+    [mkdir] Created dir: /home/hue/Development/zookeeper/build/test/lib
+
+…</pre>
+
+Then start the REST service:
+
+<pre class="code">cd src/contrib/rest
+nohup ant run&</pre>
+
+&nbsp;
+
+If ZooKeeper and the REST service are not on the same machine as Hue, please update the [Hue settings][3] and specify the correct hostnames and ports:
+
+&nbsp;
+
+<pre class="code">[zookeeper]
+
+  [[clusters]]
+
+    [[[default]]]
+      # Zookeeper ensemble. Comma separated list of Host/Port.
+      # e.g. localhost:2181,localhost:2182,localhost:2183
+      host_ports=localhost:2181
+
+      # The URL of the REST contrib service
+      rest_url=http://localhost:9998</pre>
+
+&nbsp;
+
+And that’s it, jump up to [ZooKeeper Browser][4]!
+
+&nbsp;
+
+As usual feel free to comment on the [hue-user][5] list or [@gethue][6]!
+
+&nbsp;
+
+ [1]: https://github.com/andreisavu/hue/tree/zookeeper-browser/
+ [2]: https://github.com/apache/zookeeper/tree/trunk/src/contrib/rest
+ [3]: https://github.com/cloudera/hue/blob/master/desktop/conf.dist/hue.ini#L591
+ [4]: http://127.0.0.1:8888/zookeeper/
+ [5]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [6]: http://twitter.com/gethue

+ 79 - 0
docs/gethue/content/posts/2013-11-27-hadoop-tutorial-create-hive-tables-with-headers-and.md

@@ -0,0 +1,79 @@
+---
+title: Create Hive tables with headers and load quoted CSV data
+author: admin
+type: post
+date: 2013-11-27T18:54:00+00:00
+url: /hadoop-tutorial-create-hive-tables-with-headers-and/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/68282571607/hadoop-tutorial-create-hive-tables-with-headers-and
+tumblr_gethue_id:
+  - 68282571607
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Browsing
+  - Querying
+
+---
+<p id="docs-internal-guid-69d034aa-9ae7-82e8-1c00-5068cd66771e">
+  Hue makes it easy to create Hive tables.
+</p>
+
+With [HUE-1746][1], Hue guesses the columns names and types (int, string, float…) directly by looking at your data. If your data starts with a header, this one will automatically be used and **skipped** while creating the table.
+
+<iframe src="https://player.vimeo.com/video/80460405?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop Tutorial - Create Hive tables and load quoted CSV data in Hue" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+Quoted CSV fields are also compatible thanks to [HUE-1747][2].
+
+Here is the data file used:
+
+<http://www.fdic.gov/bank/individual/failed/banklist.html>
+
+&nbsp;
+
+<span>This is the </span>[<span>SerDe</span>][3] <span>for reading quoted CSV:</span>
+
+<https://github.com/ogrodnek/csv-serde>
+
+&nbsp;
+
+<span>And the command to switch the SerDe used by the table:</span>
+
+<pre class="code">ALTER TABLE banks SET SERDE 'com.bizo.hive.serde.csv.CSVSerde'</pre>
+
+<span>Now go analyze the data with the </span>[<span>Hive</span>][4]<span>, </span>[<span>Impala</span>][5] <span>or </span>[<span>Pig</span>][6] <span>editors!</span>
+
+ [1]: https://issues.cloudera.org/browse/HUE-1746
+ [2]: https://issues.cloudera.org/browse/HUE-1747
+ [3]: https://cwiki.apache.org/confluence/display/Hive/SerDe
+ [4]: http://gethue.tumblr.com/post/64916325309/hadoop-tutorial-hive-query-editor-with-hiveserver2-and
+ [5]: http://gethue.tumblr.com/post/62452792255/fast-sql-with-the-impala-query-editor
+ [6]: http://gethue.tumblr.com/post/64707633719/hadoop-tutorial-use-pig-and-hive-with-hbase

+ 70 - 0
docs/gethue/content/posts/2013-12-02-hadoop-tutorial-submit-any-oozie-jobs-directly-from.md

@@ -0,0 +1,70 @@
+---
+title: Submit any Oozie jobs directly from HDFS
+author: admin
+type: post
+date: 2013-12-02T15:05:00+00:00
+url: /hadoop-tutorial-submit-any-oozie-jobs-directly-from/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/68781982681/hadoop-tutorial-submit-any-oozie-jobs-directly-from
+tumblr_gethue_id:
+  - 68781982681
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Browsing
+  - Scheduling
+
+---
+<p id="docs-internal-guid-274cce61-b3d2-fe2c-661b-0f56659ca38c">
+  <span>With </span><a href="https://issues.cloudera.org/browse/HUE-1476"><span>HUE-1476</span></a><span>, users can submit Oozie jobs directly from HDFS. Just upload your configuration or browse an existing workspace and select a workflow, coordinator or bundle. A submit button will appear and let you execute the job in one click!</span>
+</p>
+
+<iframe src="https://player.vimeo.com/video/80749790?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop Tutorial - Submit any Oozie jobs directly from HDFS in Hue" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+<span>File Browser supports:</span>
+
+  * <span>Parameters from workflow.xml, coordinator.xml, bundle.xml</span>
+  * <span>Parameters from job.properties</span>
+
+<span>Oozie Dashboard supports:</span>
+
+  * <span>Dynamic progress and log report</span>
+  * <span>One click MapReduce log access</span>
+  * <span>Stop, Pause, Rerun buttons</span>
+
+&nbsp;
+
+<span>Here is the </span>[<span>workflow tutorial</span>][1] <span>used in the video demo. </span>
+
+<span>Of course, the </span>[<span>Oozie Editor</span>][2] <span>is still recommended if you want to avoid any XML 🙂</span>
+
+ [1]: https://github.com/romainr/hadoop-tutorials-examples/tree/master/oozie/workflow_demo
+ [2]: http://gethue.tumblr.com/post/60937985689/hadoop-tutorials-ii-2-execute-hive-queries-and

+ 63 - 0
docs/gethue/content/posts/2013-12-05-hadoop-tutorial-language-assistant-in-pig-editor-with.md

@@ -0,0 +1,63 @@
+---
+title: Language assistant in Pig Editor with Navigator
+author: admin
+type: post
+date: 2013-12-05T16:46:07+00:00
+url: /hadoop-tutorial-language-assistant-in-pig-editor-with/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/69083414731/hadoop-tutorial-language-assistant-in-pig-editor-with
+tumblr_gethue_id:
+  - 69083414731
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Querying
+
+---
+<p id="docs-internal-guid-0ab02ef5-c3a4-c1fe-509c-31f69bf4beb7">
+  <span>In Hue 3.5, a new assistant was added to the </span><a href="http://gethue.tumblr.com/post/51559235973/tutorial-apache-pig-editor-in-hue-2-3"><span>Pig Editor</span></a><span>: Navigator.</span>
+</p>
+
+<iframe src="https://player.vimeo.com/video/81111082?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop Tutorial - The new Pig Editor Navigator in Hue" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+<span>Similarly to the </span>[<span>Hive</span>][1] <span>and </span>[<span>Impala</span>][2] <span>Editors, functions and Pig statements are made directly available from within the editor:</span>
+
+<span>Navigator is:</span>
+
+  * <span>Sorted by category</span>
+  * <span>Searchable</span>
+  * <span>Auto-completable (as well as HDFS paths and Metastore tables)</span>
+
+<span>So now, get started with </span>[<span>Apache Pig</span>][3]<span>!</span>
+
+ [1]: http://gethue.tumblr.com/post/64916325309/hadoop-tutorial-hive-query-editor-with-hiveserver2-and
+ [2]: http://gethue.tumblr.com/post/62452792255/fast-sql-with-the-impala-query-editor
+ [3]: http://pig.apache.org/

+ 93 - 0
docs/gethue/content/posts/2013-12-05-hue-3-5-and-its-redesign-are-out.md

@@ -0,0 +1,93 @@
+---
+title: Hue 3.5 and its redesign are out!
+author: admin
+type: post
+date: 2013-12-05T23:39:00+00:00
+url: /hue-3-5-and-its-redesign-are-out/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/69115755563/hue-3-5-and-its-redesign-are-out
+tumblr_gethue_id:
+  - 69115755563
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Release
+
+---
+Hi Big Elephant Lovers,
+
+The Hue Team is glad to release Hue 3.5!
+
+A [tarball][1] is available as well as [documentation][2] and [release notes][3].
+
+[<img src="https://cdn.gethue.com/uploads/2014/03/hue-3.6-1024x521.png"  />][4]
+
+This new version comes with many improvements (254!), for example:
+
+<div class="itemizedlist">
+  <ul class="itemizedlist">
+    <li class="listitem">
+      The look & feel and navigation bar have been redesigned
+    </li>
+    <li class="listitem">
+      <a class="ulink" href="http://gethue.tumblr.com/post/66661074125/dbquery-app-mysql-and-postgresql-query-editors">DBQuery App: MySQL and PostgreSQL Query Editors</a>
+    </li>
+    <li class="listitem">
+      <a class="ulink" href="http://gethue.tumblr.com/post/66351828212/new-search-feature-graphical-facets">New Search feature: Graphical facets</a>
+    </li>
+    <li class="listitem">
+      <a class="ulink" href="http://gethue.tumblr.com/post/66367939672/integrate-external-web-applications-in-any-language">Integrate external Web applications in any language</a>
+    </li>
+    <li class="listitem">
+      <a class="ulink" href="http://gethue.tumblr.com/post/68282571607/hadoop-tutorial-create-hive-tables-and-load-quoted-csv">Create Hive tables and load quoted CSV data</a>
+    </li>
+    <li class="listitem">
+      <a class="ulink" href="http://gethue.tumblr.com/post/68781982681/hadoop-tutorial-submit-any-oozie-jobs-directly-from">Submit any Oozie jobs directly from HDFS</a>
+    </li>
+    <li class="listitem">
+      <a class="ulink" href="http://gethue.tumblr.com/post/62273866476/sso-with-hue-new-saml-backend">SSO with Hue: new SAML backend</a>
+    </li>
+    <li class="listitem">
+      <a class="ulink" href="http://gethue.tumblr.com/post/64916325309/hadoop-tutorial-hive-query-editor-with-hiveserver2-and">Hive Query editor with HiveServer2 and Sentry</a>
+    </li>
+  </ul>
+</div>
+
+Hue 3.5 and more will be available early next year in CDH5beta2. If you feel adventurous download the [tarball][1]!
+
+<span id="docs-internal-guid-0768643e-1223-9198-1d84-c7ebd87794ae">Thank you for all the</span>[ bugs, suggestions, and feedback][5] and the messages on [@gethue][6]! We have never seen so much activity!
+
+ [1]: https://cdn.gethue.com/downloads/releases/3.5.0/hue-3.5.0.tgz
+ [2]: http://cloudera.github.io/hue/docs-3.5.0/index.html
+ [3]: http://cloudera.github.io/hue/docs-3.5.0/release-notes/release-notes-3.5.0.html
+ [4]: https://cdn.gethue.com/uploads/2014/03/hue-3.6.png
+ [5]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [6]: https://twitter.com/gethue

+ 144 - 0
docs/gethue/content/posts/2013-12-07-new-in-cdh-5-5-simplified-administration-and-user-experience-and-more-in-hue.md

@@ -0,0 +1,144 @@
+---
+title: 'New in CDH 5.5: Simplified administration and user experience and More in Hue'
+author: admin
+type: post
+date: 2013-12-07T19:58:13+00:00
+url: /new-in-cdh-5-5-simplified-administration-and-user-experience-and-more-in-hue/
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+sf_remove_promo_bar:
+  - 1
+categories:
+  - News
+
+---
+&nbsp;
+
+CDH5.5 improves the life of the administrator with a deeper integration of Hue in Cloudera Manager and a rebase on version [3.9][1]. The setup of Hue in High Availability mode for more stability and performances was redesigned as well as the built-in monitoring. Auditing through Cloudera Navigator is now offered for better security and reporting. A lof of optimizations and user experience bumps have been added in all Hue. Here is an overview of the main improvements:
+
+&nbsp;
+
+### Cloudera Manager Load balancing
+
+In just a few clicks, a built-in load balancer can be added and provide out of the box Automatic fail over to an available healthy Hue in case of crash, network or host glitch, and transparent serving of the static files for much better request performances and more slickness. The monitoring of the Hue service was improved by adding the tracking of the number of active users, requests and other statistics warning about potential health problems. (Read more [here][2]).
+
+[<img src="https://cdn.gethue.com/uploads/2015/12/hue-cmlb-e1449521110230-1024x335.png" />][3]
+
+### Auditing with Navigator
+
+Hue user administration operations can now be audited and written to a configurable audit log. This then enable auditing tools like [Cloudera Navigator’s][4] to view, search, filter, and generate reports on these audited events. Most importantly, admins can easily detect when unauthorized attempts at these operations have been made, and capture the related metadata for those unauthorized attempts. (Read more [here][5]).
+
+[<img class="size-large wp-image-3562 aligncenter" src="https://cdn.gethue.com/uploads/2015/12/navigator1-1024x361.png" />][6]
+
+&nbsp;
+
+<div class="itemizedlist">
+</div>
+
+&nbsp;
+
+**Search**
+
+Users can now search "like in Yelp" with a new live filtering applying when moving on the map. For better performances, now only the widgets that changed are being refreshed on each search. A full time mode displays the dashboard in full screen and can be set to refresh automatically every N seconds. Indexed records are editable in the UI and can link to the original document. Saved dashboards can be exported or imported directly from the UI for an easier backup or sharing. (Learn more [here][7]).
+
+[<img class="aligncenter wp-image-2942" src="https://cdn.gethue.com/uploads/2015/08/search-full-mode-1024x504.png" />][8]
+
+&nbsp;
+
+&nbsp;
+
+**Oozie**
+
+Performances! All the dashboard jobs filtering as well as the pagination now happen in the Oozie backend. Monitoring a large number of jobs is now fast. Various features improves the Coordinator user experience, like updating the job end time, ignoring some actions. Exporting and importing workflows can now be done [directly from the UI][9] for an easier backup. (Learn more [here][10]).
+
+[<img src="https://cdn.gethue.com/uploads/2015/08/ignore-e1449521034696.png" />][11]
+
+**SQL**
+
+Statistics on tables and columns can be accessed directly from the assist, as well as the top terms of a column. Hive partitions are much easier to explore with a [new editor filter][12]. Links to partitions are now always correct, as well as in strict mode.
+
+&nbsp;
+
+[<img class="aligncenter wp-image-2822" src="https://cdn.gethue.com/uploads/2015/07/Screenshot-2015-07-29-15.44.21-1024x224.png" />][13]
+
+&nbsp;
+
+**Spark (beta)**
+
+The Notebook UI is still being revamped. Spark versions like 1.5 and more are supported and the YARN integration was improved. A basic R shell was added as well as the support for submitting jars or python apps. (Learn more about the [Notebook][14] and the [REST Spark Job Server Livy][15]).
+
+[<img class="aligncenter wp-image-2984" src="https://cdn.gethue.com/uploads/2015/08/notebook-1024x505.png" />][16]
+
+&nbsp;
+
+**HBase**
+
+Several impersonations issues have been fixed on the HBase side. Binary upload into cells (like pictures) are now supported as well as emptying a cell. (Read more [here][17]).
+
+[<img class="aligncenter wp-image-2977" src="https://cdn.gethue.com/uploads/2015/08/Screenshot-2015-08-20-16.34.44-1024x491.png"  />][18]
+
+&nbsp;
+
+**Sentry**
+
+Support for COLUMN scope privilege for finer grain permissions on tables has been added. The URI scope privilege is now consistent through all the app.
+
+[<img class="aligncenter wp-image-2991" src="https://cdn.gethue.com/uploads/2015/08/sentry-multi-cols-1024x490.png" />][19]
+
+###
+
+###
+
+### **Next!**
+
+&nbsp;
+
+The underlying work for Hue 4 is well under way. It unifies all the apps together for a nicer global user experience. In particular, this will allow you to see at the next release a next much better SQL and Notebook experience. More performances and optimizations are also in the pipeline! Onwards!
+
+&nbsp;
+
+ [1]: https://gethue.com/hue-3-9-with-all-its-improvements-is-out/
+ [2]: https://gethue.com/automatic-high-availability-and-load-balancing-of-hue-in-cloudera-manager-with-monitoring/
+ [3]: https://cdn.gethue.com/uploads/2015/12/hue-cmlb.png
+ [4]: http://www.cloudera.com/content/www/en-us/documentation/enterprise/latest/topics/cn_iu_audit_arch.html
+ [5]: https://gethue.com/auditing-user-administration-operations-with-hue-and-cloudera-navigator-2/
+ [6]: https://cdn.gethue.com/uploads/2015/12/navigator1.png
+ [7]: https://gethue.com/dynamic-search-dashboard-improvements-3/
+ [8]: https://cdn.gethue.com/uploads/2015/08/search-full-mode.png
+ [9]: https://gethue.com/exporting-and-importing-oozie-workflows/
+ [10]: https://gethue.com/oozie-dashboard-improvements-in-hue-3-9/
+ [11]: https://cdn.gethue.com/uploads/2015/08/ignore.png
+ [12]: https://gethue.com/filter-sort-browse-hive-partitions-with-hues-metastore/
+ [13]: https://cdn.gethue.com/uploads/2015/07/Screenshot-2015-07-29-15.44.21.png
+ [14]: https://gethue.com/spark-notebook-and-livy-rest-job-server-improvements/
+ [15]: https://gethue.com/big-data-scala-by-the-bay-interactive-spark-in-your-browser/
+ [16]: https://cdn.gethue.com/uploads/2015/08/notebook.png
+ [17]: https://gethue.com/improved-hbase-cell-editor-history
+ [18]: https://cdn.gethue.com/uploads/2015/08/Screenshot-2015-08-20-16.34.44.png
+ [19]: https://cdn.gethue.com/uploads/2015/08/sentry-multi-cols.png

+ 54 - 0
docs/gethue/content/posts/2013-12-12-hue-goes-to-paris-hug-france.md

@@ -0,0 +1,54 @@
+---
+title: 'Hue goes to Paris: HUG France'
+author: admin
+type: post
+date: 2013-12-12T00:46:00+00:00
+url: /hue-goes-to-paris-hug-france/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/69738839675/hue-goes-to-paris-hug-france
+tumblr_gethue_id:
+  - 69738839675
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - News
+
+---
+<div>
+  <strong> <a title="Hue: The Hadoop UI - HUG France" href="https://www.slideshare.net/gethue/hue-the-hadoop-ui-hug-france" target="_blank" rel="noopener noreferrer">Hue: The Hadoop UI - HUG France</a> </strong> from <strong><a href="http://www.slideshare.net/gethue" target="_blank" rel="noopener noreferrer">gethue</a></strong>
+</div>
+
+<div>
+</div>
+
+<div>
+  <strong>At <a href="http://hugfrance.fr/meetup-le-11-decembre-2013/">HUG France December</a></strong>
+</div>

+ 146 - 0
docs/gethue/content/posts/2013-12-12-recent-security-enhancements.md

@@ -0,0 +1,146 @@
+---
+title: Recent Security Enhancements
+author: admin
+type: post
+date: 2013-12-12T18:54:00+00:00
+url: /recent-security-enhancements/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/69803995520/recent-security-enhancements
+tumblr_gethue_id:
+  - 69803995520
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+categories:
+  - News
+
+---
+<p id="docs-internal-guid-4e51c4c8-e826-f763-73a0-2427956de77d">
+  <a href="http://gethue.com">Hue</a> has seen a slew of security improvements recently (from <a href="http://gethue.tumblr.com/post/69115755563/hue-3-5-and-its-redesign-are-out">Hue 3.5</a>). The most important ones have been enabling encryption when communicating with other services:
+</p>
+
+  1. <span>Secure database connection (</span>[<span>HUE-1638</span>][1]<span>)</span>
+  2. <span>HiveServer2 over SSL (</span>[<span>HUE-1749</span>][2]<span>)</span>
+
+&nbsp;
+
+<span>In addition, several other security options have been added:</span>
+
+  1. <span>Session timeout is now configurable (</span>[<span>HUE-1528</span>][3]<span>)</span>
+  2. <span>Cookies can be secure (</span>[<span>HUE-1529</span>][4]<span>)</span>
+  3. <span>HTTP only in session cookie if supported (</span>[<span>HUE-1639</span>][5]<span>)</span>
+  4. <span>Allowed HTTP methods can be defined in the hue.ini</span>
+  5. <span>Cipher list can be restricted when using SSL</span>
+
+&nbsp;
+
+# <span>Secure Database Connection</span>
+
+<span>Connections vary depending on the database. Hue uses different clients to communicate with each database internally. They all specify a common interface known as the DBAPI version 2 interface. Client specific options, such as secure connectivity, can be passed through the interface. For example (MySQL):</span>
+
+<pre>[desktop]
+  [[databases]]
+   …
+   options={"ssl":{"ca":"/tmp/ca-cert.pem"}}</pre>
+
+# <span>HiveServer2 over SSL</span>
+
+<span>By providing a CA certificate, private key, and public certificate, Hue can communicate with HiveServer2 over SSL. This is configurable in the </span>[<span>hue.ini</span>][6]<span>. For example:</span>
+
+<pre>[beeswax]
+  [[ssl]]
+  enabled=true
+  cacerts=/etc/hue/cacerts.pem
+  key=/etc/hue/key.pem
+  cert=/etc/hue/key.pemkey=/etc/hue/publiccert.pem</pre>
+
+# HiveServer2 over Kerberos with LDAP authentication
+
+HiveServer2 supports [LDAP authentication][7] with a client connecting under a Thrift connection with security. This means Hue can provide a LDAP password that will be used by HiveServer2 to authenticate Hue. The username is defaulting to ‘hue’ or the username of the Hue Kerberos ticket. This is configurable in the [hue.ini][6]. For example:
+
+<pre>[desktop]
+  ldap_password=MY_HUE_USER_LDAP_PASSWORD</pre>
+
+# <span>Session Timeout</span>
+
+<span>The session timeout can be set in the </span>[<span>hue.ini</span>][8] <span>at desktop->session->ttl. Example:</span>
+
+<pre>[desktop]
+  [[session]]
+  ttl=3600</pre>
+
+# <span>Secure Cookies</span>
+
+<span>Secure session cookies can be enabled in the </span>[<span>hue.ini</span>][9] <span>at desktop->session->secure. Example:</span>
+
+<pre>[desktop]
+  [[session]]
+  secure=true</pre>
+
+<span>The HTTPonly flag can be set via the </span>[<span>hue.ini</span>][10] <span>at desktop->session->http_only. Example:</span>
+
+<pre>[desktop]
+  [[session]]
+  http_only=true</pre>
+
+# <span>Allowed HTTP Methods</span>
+
+<span>Which HTTP request methods the server should respond to can be controlled via desktop->http_allowed_methods in the hue.ini. For example:</span>
+
+<pre>[desktop]
+http_allowed_methods=options,get,head,post,put,delete,connect</pre>
+
+# <span>Restricting the Cipher List</span>
+
+<span>Cipher list support with HTTPS can be restricted via desktop->ssl_cipher_list in the hue.ini. The value is in </span>[<span>cipher list format</span>][11]<span>. For example:</span>
+
+<pre>[desktop]
+ssl_cipher_list=DEFAULT:!aNULL:!eNULL:!LOW:!EXPORT:!SSLv2</pre>
+
+# URL redirect whitelist
+
+Restrict to which domains or pages Hue can redirect the users.
+
+<pre>[desktop]
+redirect_whitelist=^http://www.mydomain.com/.*$</pre>
+
+<span>The Hue team is working hard improving security. We hope these recent improvements make your system more secure and more compliant with security standards. As always, feel free to contact us at </span>[<span>hue-user</span>][12] <span>or </span>[<span>@gethue</span>][13]<span>.</span>
+
+ [1]: https://issues.cloudera.org/browse/HUE-1638
+ [2]: https://issues.cloudera.org/browse/HUE-1749
+ [3]: https://issues.cloudera.org/browse/HUE-1528
+ [4]: https://issues.cloudera.org/browse/HUE-1529
+ [5]: https://issues.cloudera.org/browse/HUE-1639
+ [6]: https://github.com/cloudera/hue/blob/master/desktop/conf.dist/hue.ini#L494
+ [7]: http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/4.3.0/CDH4-Security-Guide/cdh4sg_topic_9_1.html?scroll=topic_9_1_unique_4
+ [8]: https://github.com/cloudera/hue/blob/master/desktop/conf.dist/hue.ini#L204
+ [9]: https://github.com/cloudera/hue/blob/master/desktop/conf.dist/hue.ini#L208
+ [10]: https://github.com/cloudera/hue/blob/master/desktop/conf.dist/hue.ini#L211
+ [11]: http://www.openssl.org/docs/apps/ciphers.html
+ [12]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [13]: http://twitter.com/gethue

+ 57 - 0
docs/gethue/content/posts/2013-12-13-hue-goes-to-los-angeles-hbase-meetup.md

@@ -0,0 +1,57 @@
+---
+title: 'Hue goes to Los Angeles: HBase Meetup'
+author: admin
+type: post
+date: 2013-12-13T04:23:00+00:00
+url: /hue-goes-to-los-angeles-hbase-meetup/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/69853161472/hue-goes-to-los-angeles-hbase-meetup
+tumblr_gethue_id:
+  - 69853161472
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Browsing
+  - News
+
+---
+ <iframe frameborder="0" height="500" marginheight="0" marginwidth="0" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/29157913" width="800"></iframe>
+
+<div>
+  <strong> <a title="HBase + Hue - LA HBase User Group" href="https://slideshare.net/gethue/hbase-hue-la-hbase-user-group" target="_blank" rel="noopener noreferrer">HBase + Hue - LA HBase User Group</a> </strong> from <strong><a href="http://www.slideshare.net/gethue" target="_blank" rel="noopener noreferrer">gethue</a></strong>
+</div>
+
+<div>
+</div>
+
+<div>
+  <a href="http://www.meetup.com/Los-Angeles-HBase-User-group/events/152073322/"><strong>LA HBase Meetup</strong></a>
+</div>

+ 114 - 0
docs/gethue/content/posts/2013-12-16-use-the-impala-app-with-sentry-for-real-security.md

@@ -0,0 +1,114 @@
+---
+title: Use the Impala App with Sentry for real security
+author: admin
+type: post
+date: 2013-12-16T18:22:24+00:00
+url: /use-the-impala-app-with-sentry-for-real-security/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/70206086469/use-the-impala-app-with-sentry-for-real-security
+tumblr_gethue_id:
+  - 70206086469
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Querying
+
+---
+<p id="docs-internal-guid-2146a2cd-fca2-7325-b82b-68ed6ae64ad9">
+  <a href="http://incubator.apache.org/projects/sentry.html">Apache Sentry</a> is the new way to provide security (e.g. privileges on SQL statements SELECT, CREATE…) when querying data in Hadoop. <a href="http://impala.io/">Impala</a> offers <a href="http://gethue.tumblr.com/post/62452792255/fast-sql-with-the-impala-query-editor">fast SQL</a> for Apache Hadoop and can leverage Sentry. Here is how to use configure it:
+</p>
+
+First enable impersonation in the [hue.ini][1] that way permissions will be checked against the current user and not ‘hue’ which acts as a proxy:
+
+{{< highlight bash >}}[impala]
+
+impersonation_enabled=True
+
+{{< /highlight >}}
+
+Then you might hit this error:
+
+<pre>User 'hue' is not authorized to impersonate 'romain'. User impersonation is disabled.</pre>
+
+This is because Hue is not authorized to be a proxy. To fix it, startup Impala with this flag:
+
+{{< highlight bash >}}-authorized_proxy_user_config=hue=*{{< /highlight >}}
+
+Note: if you use Cloudera Manager, add it to the ‘Impalad Command Line Argument Safety Valve’
+
+&nbsp;
+
+And that’s it! You can now benefit from real security similar to [Hive][2]! As usual feel free to comment on the [hue-user][3] list or [@gethue][4]!
+
+&nbsp;
+
+Note: if you are on CDH4/Hue 2.x, make sure that Hue is configured to talk to Impala with the HiveServer2 API:
+
+{{< highlight bash >}}[impala]
+
+\# Host of the Impala Server (one of the Impalad)
+
+server_host=nightly-1.ent.cloudera.com
+
+\# The backend to contact for queries/metadata requests.
+
+\# Choices are 'beeswax' or 'hiveserver2' (default).
+
+\# 'hiveserver2' supports log, progress information, query cancellation
+
+\# 'beeswax' requires Beeswax to run for proxying the metadata requests
+
+server_interface=hiveserver2
+
+\# Port of the Impala Server
+
+\# Default is 21050 as HiveServer2 Thrift interface is the default.
+
+\# Use 21000 when using Beeswax Thrift interface.
+
+server_port=21050
+
+\# Kerberos principal
+
+\## impala_principal=impala/hostname.foo.com
+
+impersonation_enabled=True
+
+{{< /highlight >}}
+
+Note: to give a concrete idea, here is video demo that shows the end user interaction in the UI (it is using the <a href="https://gethue.com/hadoop-tutorial-hive-query-editor-with-hiveserver2-and/" target="_blank" rel="noopener noreferrer">Hive App</a> but you will get the exact same result with the Impala app)
+
+{{< vimeo 79883574 >}}
+
+ [1]: https://github.com/cloudera/hue/blob/master/desktop/conf.dist/hue.ini
+ [2]: http://gethue.tumblr.com/post/64916325309/hadoop-tutorial-hive-query-editor-with-hiveserver2-and
+ [3]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [4]: https://twitter.com/gethue

+ 118 - 0
docs/gethue/content/posts/2013-12-30-jobtracker-high-availability-ha-in-mr1.md

@@ -0,0 +1,118 @@
+---
+title: JobTracker High Availability (HA) in MR1
+author: admin
+type: post
+date: 2013-12-30T15:02:46+00:00
+url: /jobtracker-high-availability-ha-in-mr1/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/71637613809/jobtracker-high-availability-ha-in-mr1
+tumblr_gethue_id:
+  - 71637613809
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Browsing
+
+---
+<p id="docs-internal-guid-60fb361f-4405-815e-a36b-72434b0895db">
+  When the Job Tracker goes down, Hue cannot display the Jobs in File Browser or submit to the correct cluster.
+</p>
+
+&nbsp;
+
+In MR1, Hadoop can support two Job Trackers, a master Job Tracker that can fail over to a standby Job Tracker and hence provide Job Tracker HA. Let’s see how [Hue 3.5][1] and [CDH5beta1][2] (and probably CDH4.6) can take advantage of this.
+
+Note: in MR1 Hue is using a [plugin][3] to communicate with the Job Tracker. This can be configured in CDH or Hadoop 0.23 / 1.2.0 ([MAPREDUCE-461][4]).
+
+&nbsp;
+
+We configure two Job Trackers in the [hue.ini][5]:
+
+{{< highlight bash >}}[hadoop]
+
+...
+
+[[mapred_clusters]]
+
+[[[default]]]
+
+\# Enter the host on which you are running the Hadoop JobTracker
+
+jobtracker_host=host-1
+
+\# Whether to submit jobs to this cluster
+
+submit_to=True
+
+[[[ha-standby]]]
+
+\# Enter the host on which you are running the Hadoop JobTracker
+
+jobtracker_host=host-2
+
+\# Whether to submit jobs to this cluster
+
+submit_to=True
+
+{{< /highlight >}}
+
+&nbsp;
+
+And that’s it! Hue will communicate with the available Job Tracker automatically!
+
+&nbsp;
+
+Notice that in the case of Oozie jobs, Oozie will try to re-submit the job but will need a logical name ([HUE-1631][6]). To enable this in Hue, specify it in each MapReduce cluster, e.g.:
+
+{{< highlight bash >}}[hadoop]
+
+[[mapred_clusters]]
+
+[[[default]]]
+
+\# JobTracker logical name.
+
+\## logical_name=MY_NAME
+
+{{< /highlight >}}
+
+&nbsp;
+
+As usual feel free to comment on the [hue-user][7] list or[@gethue][8]!
+
+ [1]: http://gethue.tumblr.com/post/69115755563/hue-3-5-and-its-redesign-are-out
+ [2]: http://www.cloudera.com/content/support/en/documentation/cdh5-documentation/cdh5-documentation-v5-latest.html
+ [3]: http://cloudera.github.io/hue/docs-3.5.0/manual.html#_configure_mapreduce_0_20_mr1
+ [4]: https://issues.apache.org/jira/browse/MAPREDUCE-461
+ [5]: https://github.com/cloudera/hue/blob/master/desktop/conf.dist/hue.ini#L336
+ [6]: https://issues.cloudera.org/browse/HUE-1631
+ [7]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [8]: https://twitter.com/gethue

+ 90 - 0
docs/gethue/content/posts/2014-01-02-a-better-pygresql-support-for-django.md

@@ -0,0 +1,90 @@
+---
+title: A better PyGreSql support for Django
+author: admin
+type: post
+date: 2014-01-02T21:33:40+00:00
+url: /a-better-pygresql-support-for-django/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/72002742226/a-better-pygresql-support-for-django
+tumblr_gethue_id:
+  - 72002742226
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+categories:
+  - Development
+
+---
+<p id="docs-internal-guid-4b2195c3-54dc-08d4-5d6f-c137c78b95a2">
+  <span>With the release of </span><a href="https://github.com/abec/django-pygresql"><span>django-pygresql</span></a><span>, the </span><a href="http://gethue.com"><span>Hue</span></a><span> team has taken a first stab at </span><a href="http://www.pygresql.org/"><span>PyGreSQL</span></a><span> support in </span><a href="https://www.djangoproject.com/"><span>Django</span></a><span>!</span>
+</p>
+
+# <span>The ‘Why’</span>
+
+<span>The open source world has many different kinds of licenses and it can be confusing to know which one makes sense for you. PyGreSQL is a </span>[<span>PostgreSQL</span>][1] <span>client with a permissible enough license that it can be packaged and shipped.</span>
+
+# <span>The ‘How’</span>
+
+<span>PyGreSQL has some minor differences from the provided postgresql backend. It required a few changes including:</span>
+
+  * <span>Massaging Date/Datetime/Time types to work with Django.</span>
+  * <span>A custom cursor for massaging data.</span>
+  * <span>Custom autocommit management.</span>
+
+&nbsp;
+
+<span>To install this backend:</span>
+
+  1. <span>Download </span>[<span>django-pygresql</span>][2]<span>.</span>
+  2. <span>Run</span> <pre class="code">unzip master.zip && cd django-pygresql-master && /build/env/bin/python install setup.py</pre>
+
+  3. <span>At the bottom of <hue root>/desktop/core/src/desktop/settings.py, add the following code:</span>
+
+<pre class="code">if DATABASES['default']['ENGINE'] == 'django_pygresql':
+  SOUTH_DATABASE_ADAPTERS = {
+    'default': 'south.db.postgresql_psycopg2'
+  }</pre>
+
+<ol start="4">
+  <li>
+    <span>In the hue.ini, set desktop->database->engine to “django_pygresql”. Then, add the normal postgresql configuration parameters.</span>
+  </li>
+</ol>
+
+# <span>Summary</span>
+
+<span>This is an initial implementation of a backend for Django to communicate with PostgreSQL via PyGreSQL. We hope this helps other members of the community.</span>
+
+&nbsp;
+
+<span>Write to us at</span>[<span>hue-user</span>][3] <span>mailing list or</span>[<span>@gethue</span>][4]<span>!</span>
+
+ [1]: http://www.postgresql.org/
+ [2]: https://github.com/abec/django-pygresql/archive/master.zip
+ [3]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [4]: https://twitter.com/gethue

+ 128 - 0
docs/gethue/content/posts/2014-01-02-a-new-spark-web-ui-spark-app.md

@@ -0,0 +1,128 @@
+---
+title: 'A new Spark Web UI: Spark App'
+author: admin
+type: post
+date: 2014-01-02T14:06:00+00:00
+url: /a-new-spark-web-ui-spark-app/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/71963991256/a-new-spark-web-ui-spark-app
+tumblr_gethue_id:
+  - 71963991256
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Querying
+
+---
+## <span style="color: #ff0000;"><em>Note:</em> <em>This post is deprecated as of Hue 3.8 / April 24th 2015</em>. Hue now have a new <a href="https://gethue.com/new-notebook-application-for-spark-sql/" target="_blank" rel="noopener noreferrer">Spark Notebook</a> application.</span>
+
+Hi Spark Makers!
+
+A Hue Spark application was recently created. It lets users execute and monitor [Spark][1] jobs directly from their browser from any machine, with interactivity.
+
+The new application is using the [Spark Job Server][2] contributed by [Ooyala][3] at the last [Spark Summit][4].
+
+<iframe src="https://player.vimeo.com/video/83192197?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop Tutorial - The new Spark Igniter in Hue" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+We hope to work with the community and have support for Python, Java, direct script submission without compiling/uploading and other improvements in the future!
+
+As usual feel free to comment on the [hue-user][5] list or [@gethue][6]!
+
+## Get Started!
+
+Currently only Scala jobs are supported and programs need to implement this trait and be packaged into a jar. Here is a [WordCount][7] example. To learn more about Spark Job Server, check its [README][2].
+
+If you are using Cloudera Manager, enable the Spark App by removing it from the blacklist by adding this in the Hue Safety Valve:
+
+{{< highlight bash >}}
+
+[desktop]
+
+app_blacklist=
+
+{{< /highlight >}}
+
+## Requirements
+
+We assume you have Spark 0.9.0, Scala 2.10. installed on your system. Make sure you have the good scala and sbt versions, e.g. for Ubuntu: <https://gist.github.com/visenger/5496675>
+
+## Get Spark Job Server
+
+Currently on github on this branch:
+
+{{< highlight bash >}}git clone https://github.com/ooyala/spark-jobserver.git
+
+cd spark-jobserver
+
+{{< /highlight >}}
+
+Then type:
+
+{{< highlight bash >}}sbt
+
+re-start{{< /highlight >}}
+
+## Get Hue
+
+<span style="line-height: 1.5em;">If Hue and Spark Job Server are not on the same machine update the </span><a style="line-height: 1.5em;" href="https://github.com/cloudera/hue/blob/master/desktop/conf.dist/hue.ini">hue.ini</a> <span style="line-height: 1.5em;">property in desktop/conf/pseudo-distributed.ini:</span>
+
+{{< highlight bash >}}
+
+[spark]
+
+\# URL of the Spark Job Server.
+
+server_url=http://localhost:8090/{{< /highlight >}}
+
+To point to your Spark Cluster
+
+{{< highlight bash >}}vim ./job-server/src/main/resources/application.conf{{< /highlight >}}
+
+Replace:
+
+{{< highlight bash >}}master = "local[4]"{{< /highlight >}}
+
+With the Spark Master URL (you can get it from the Spark Master UI: http://SPARK-HOST:18080/):
+
+{{< highlight bash >}}master = "spark://localhost:7077"{{< /highlight >}}
+
+## Get a Spark example to run
+
+Then follow this [walk-through][8] and create the example jar that is used in the video demo.
+
+ [1]: http://spark.incubator.apache.org/
+ [2]: https://github.com/ooyala/spark-jobserver
+ [3]: http://www.ooyala.com/
+ [4]: http://spark-summit.org/talk/chan-the-spark-job-server/
+ [5]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [6]: https://twitter.com/gethue
+ [7]: https://github.com/ooyala/spark-jobserver/blob/master/job-server-tests/src/spark.jobserver/WordCountExample.scala
+ [8]: https://github.com/ooyala/spark-jobserver#wordcountexample-walk-through

+ 117 - 0
docs/gethue/content/posts/2014-01-13-using-hadoop-mr2-and-yarn-with-an-alternative-job.md

@@ -0,0 +1,117 @@
+---
+title: Using Hadoop MR2 and YARN with an alternative Job Browser interface
+author: admin
+type: post
+date: 2014-01-13T17:52:00+00:00
+url: /using-hadoop-mr2-and-yarn-with-an-alternative-job/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/73219285865/using-hadoop-mr2-and-yarn-with-an-alternative-job
+tumblr_gethue_id:
+  - 73219285865
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Browsing
+
+---
+<p id="docs-internal-guid-15de28ba-8cb7-247f-caf6-d0f1c5b75f25">
+  <span>Hue now defaults to using </span><a href="https://hadoop.apache.org/docs/current2/hadoop-yarn/hadoop-yarn-site/YARN.html"><span>Yarn</span></a><span> since </span><a href="http://gethue.tumblr.com/post/69115755563/hue-3-5-and-its-redesign-are-out"><span>version 3</span></a><span>.</span>
+</p>
+
+&nbsp;
+
+<iframe src="https://player.vimeo.com/video/84027054?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop Tutorial: Using Yarn and Job Browser with Hue" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+First, it is a bit simpler to configure Hue with MR2 than in MR1 as Hue does not need to use the [Job Tracker plugin][1] since Yarn provides a REST API. Yarn is also going to provide an equivalent of <a href="http://gethue.tumblr.com/post/71637613809/jobtracker-high-availability-ha-in-mr1" target="_blank" rel="noopener noreferrer">Job Tracker HA</a> with [<span>YARN-149</span>][2].
+
+Here is how to configure the clusters in [hue.ini][3]. Mainly, if you are using a pseudo distributed cluster it will work by default. If not, you will just need to update all the localhost to the hostnames of the Resource Manager and History Server:
+
+{{< highlight bash >}}[hadoop]
+
+...
+
+\# Configuration for YARN (MR2)
+
+\# ------------------------
+
+[[yarn_clusters]]
+
+[[[default]]]
+
+\# Enter the host on which you are running the ResourceManager
+
+resourcemanager_host=localhost
+
+\# The port where the ResourceManager IPC listens on
+
+resourcemanager_port=8032
+
+\# Whether to submit jobs to this cluster
+
+submit_to=True
+
+\# URL of the ResourceManager API
+
+resourcemanager_api_url=http://localhost:8088
+
+\# URL of the ProxyServer API
+
+proxy_api_url=http://localhost:8088
+
+\# URL of the HistoryServer API
+
+history_server_api_url=http://localhost:19888
+
+\# Configuration for MapReduce (MR1)
+
+\# ------------------------
+
+[[mapred_clusters]]
+
+[[[default]]]
+
+\# Whether to submit jobs to this cluster
+
+submit_to=False
+
+{{< /highlight >}}
+
+<span>And that’s it! You can now look at jobs in Job Browser, get logs and submit jobs to Yarn!</span>
+
+&nbsp;
+
+<span>As usual feel free to comment on the</span>[<span>hue-user</span>][4] <span>list or</span>[<span>@gethue</span>][5]<span>!</span>
+
+ [1]: http://cloudera.github.io/hue/docs-3.5.0/manual.html#_configure_mapreduce_0_20_mr1
+ [2]: https://issues.apache.org/jira/browse/YARN-149
+ [3]: https://github.com/cloudera/hue/blob/master/desktop/conf/pseudo-distributed.ini.tmpl#L433
+ [4]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [5]: https://twitter.com/gethue

+ 315 - 0
docs/gethue/content/posts/2014-02-03-how-to-manage-the-hue-database-with-the-shell.md

@@ -0,0 +1,315 @@
+---
+title: How to manage the Hue database with the shell
+author: admin
+type: post
+date: 2014-02-03T17:59:00+00:00
+url: /how-to-manage-the-hue-database-with-the-shell/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/75496233379/how-to-manage-the-hue-database-with-the-shell
+tumblr_gethue_id:
+  - 75496233379
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Administration
+  - Development
+
+---
+_Last update on March 9 2016_
+
+&nbsp;
+
+First, **<span style="color: #ff0000;">backup</span>** the database. By default this is this SqlLite file:
+
+{{< highlight bash >}}cp /var/lib/hue/desktop.db ~/{{< /highlight >}}
+
+Then if using CM, export this variable in order to point to the correct database:
+
+{{< highlight bash >}}HUE_CONF_DIR=/var/run/cloudera-scm-agent/process/-hue-HUE_SERVER-id
+
+echo $HUE_CONF_DIR
+
+export HUE_CONF_DIR{{< /highlight >}}
+
+Where <id> is the most recent ID in that process directory for hue-HUE_SERVER.
+
+A quick way to get the correct directory is to use this script:
+
+{{< highlight bash >}}export HUE_CONF_DIR="/var/run/cloudera-scm-agent/process/\`ls -alrt /var/run/cloudera-scm-agent/process | grep HUE | tail -1 | awk '{print $9}'\`"{{< /highlight >}}
+
+Then go in the Database. From the Hue root (/use/lib/hue by default):
+
+{{< highlight bash >}}root@hue:hue# build/env/bin/hue dbshell{{< /highlight >}}
+
+Note:
+
+You might hit some permissions error about the logs:
+
+{{< highlight bash >}}build/env/bin/hue dbshell
+
+Traceback (most recent call last):
+
+File "/opt/cloudera/parcels/CDH-5.1.0-1.cdh5.1.0.p0.53/lib/hue/build/env/bin/hue", line 9, in <module>
+
+load_entry_point('desktop==3.6.0', 'console_scripts', 'hue')()
+
+File "/opt/cloudera/parcels/CDH-5.1.0-1.cdh5.1.0.p0.53/lib/hue/desktop/core/src/desktop/manage_entry.py", line 41, in entry
+
+from desktop import settings, appmanager
+
+File "/opt/cloudera/parcels/CDH-5.1.0-1.cdh5.1.0.p0.53/lib/hue/desktop/core/src/desktop/settings.py", line 55, in <module>
+
+desktop.log.basic_logging(os.environ[ENV_HUE_PROCESS_NAME])
+
+File "/opt/cloudera/parcels/CDH-5.1.0-1.cdh5.1.0.p0.53/lib/hue/desktop/core/src/desktop/log/__init__.py", line 146, in basic_logging
+
+logging.config.fileConfig(log_conf)
+
+File "/usr/lib/python2.7/logging/config.py", line 78, in fileConfig
+
+handlers = _install_handlers(cp, formatters)
+
+File "/usr/lib/python2.7/logging/config.py", line 156, in _install_handlers
+
+h = klass(*args)
+
+File "/usr/lib/python2.7/logging/handlers.py", line 118, in __init__
+
+BaseRotatingHandler.__init__(self, filename, mode, encoding, delay)
+
+File "/usr/lib/python2.7/logging/handlers.py", line 65, in __init__
+
+logging.FileHandler.__init__(self, filename, mode, encoding, delay)
+
+File "/usr/lib/python2.7/logging/__init__.py", line 897, in __init__
+
+StreamHandler.__init__(self, self._open())
+
+File "/usr/lib/python2.7/logging/__init__.py", line 916, in _open
+
+stream = open(self.baseFilename, self.mode)
+
+IOError: [Errno 13] Permission denied: '/tmp/logs/dbshell.log'
+
+{{< /highlight >}}
+
+A "workaround" is to run the command as root:
+
+{{< highlight bash >}}sudo HUE_CONF_DIR=/var/run/cloudera-scm-agent/process/9679-hue-HUE_SERVER /opt/cloudera/parcels/CDH-5.1.0-1.cdh5.1.0.p0.53/lib/hue/build/env/bin/hue dbshell{{< /highlight >}}
+
+And you can start typing SQL queries:
+
+{{< highlight bash >}}sqlite> .tables
+
+auth_group oozie_dataset
+
+auth_group_permissions oozie_decision
+
+auth_permission oozie_decisionend
+
+auth_user oozie_distcp
+
+auth_user_groups oozie_email
+
+auth_user_user_permissions oozie_end
+
+beeswax_metainstall oozie_fork
+
+beeswax_queryhistory oozie_fs
+
+beeswax_savedquery oozie_generic
+
+beeswax_session oozie_history
+
+desktop_document oozie_hive
+
+desktop_document_tags oozie_java
+
+desktop_documentpermission oozie_job
+
+desktop_documentpermission_groups oozie_join
+
+desktop_documentpermission_users oozie_kill
+
+desktop_documenttag oozie_link
+
+desktop_settings oozie_mapreduce
+
+desktop_userpreferences oozie_node
+
+django_admin_log oozie_pig
+
+django_content_type oozie_shell
+
+django_openid_auth_association oozie_sqoop
+
+django_openid_auth_nonce oozie_ssh
+
+django_openid_auth_useropenid oozie_start
+
+django_session oozie_streaming
+
+django_site oozie_subworkflow
+
+jobsub_checkforsetup oozie_workflow
+
+jobsub_jobdesign pig_document
+
+jobsub_jobhistory pig_pigscript
+
+jobsub_oozieaction search_collection
+
+jobsub_ooziedesign search_facet
+
+jobsub_ooziejavaaction search_result
+
+jobsub_ooziemapreduceaction search_sorting
+
+jobsub_ooziestreamingaction south_migrationhistory
+
+oozie_bundle useradmin_grouppermission
+
+oozie_bundledcoordinator useradmin_huepermission
+
+oozie_coordinator useradmin_ldapgroup
+
+oozie_datainput useradmin_userprofile
+
+oozie_dataoutput{{< /highlight >}}
+
+Or migrating the database manually:
+
+{{< highlight bash >}}build/env/bin/hue syncdb
+
+build/env/bin/hue migrate{{< /highlight >}}
+
+If you want to switch to another database (we recommend MySql), this [guide][1] details the migration process.
+
+The database settings in Hue are located in the [hue.ini][2].
+
+Note, you also query the database by pointing the <a href="http://gethue.tumblr.com/post/66661074125/dbquery-app-mysql-postgresql-oracle-and-sqlite-query" target="_blank" rel="noopener noreferrer">DB Query App</a> to the Hue database.
+
+In developer mode (runserver command), you can also access the /admin page for using the <a href="https://docs.djangoproject.com/en/dev/ref/contrib/admin/" target="_blank" rel="noopener noreferrer">Django Admin</a>.
+
+## Examples
+
+Transfer Oozie workflows belonging to the user Bob to Joe.
+
+**until** Hue 3.8
+
+{{< highlight bash >}}# First move the objects
+
+from oozie.models import Job
+
+from django.contrib.auth.models import User
+
+u1 = User.objects.get(username='bob')
+
+u2 = User.objects.get(username='joe')
+
+Job.objects.filter(owner=u1)
+
+> [<Job: MyWf - bob>]
+
+Job.objects.filter(owner=u1).update(owner=u2)
+
+> 1
+
+Job.objects.filter(owner=u1)
+
+> []
+
+Job.objects.filter(owner=u2)
+
+> [<Job: MyWf - joe>]
+
+wfs = Job.objects.filter(owner=u2)
+
+{{< /highlight >}}
+
+**For** Hue 3.9+
+
+{{< highlight bash >}}# First move the objects
+
+from desktop.models import Document2
+
+from django.contrib.auth.models import User
+
+u1 = User.objects.get(username='bob')
+
+u2 = User.objects.get(username='joe')
+
+Document2.objects.filter(owner=u1, type='oozie-workflow2')
+
+> [<Document2: MyWf - bob>]
+
+Document2.objects.filter(owner=u1, type='oozie-workflow2').update(owner=u2)
+
+> 1
+
+Document2.objects.filter(owner=u1, type='oozie-workflow2')
+
+> []
+
+Document2.objects.filter(owner=u2, type='oozie-workflow2')
+
+> [<Document2: MyWf - joe>]
+
+wfs = Document2.objects.filter(owner=u2, type='oozie-workflow2')
+
+{{< /highlight >}}
+
+**For** both
+
+{{< highlight bash >}}# The list of ALL the workflows (will also list the already known ones) of the second user
+
+\# Then move the documents
+
+from desktop.models import Document
+
+Document.objects.filter(object_id__in=wfs)
+
+> [<Document: workflow MyWf bob>]
+
+Document.objects.filter(object_id__in=wfs)
+
+> [<Document: workflow MyWf bob>]
+
+Document.objects.filter(object_id__in=wfs).update(owner=u2)
+
+> [<Document: workflow MyWf joe>]
+
+{{< /highlight >}}
+
+**Note**: it will change again in Hue 3.10 and be easier.
+
+ [1]: http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH5/latest/CDH5-Installation-Guide/cdh5ig_hue_database.html
+ [2]: https://github.com/cloudera/hue/blob/branch-3.5/desktop/conf.dist/hue.ini#L185

+ 405 - 0
docs/gethue/content/posts/2014-02-03-making-hadoop-accessible-to-your-employees-with-ldap.md

@@ -0,0 +1,405 @@
+---
+title: Making Hadoop Accessible to your Employees with LDAP
+author: admin
+type: post
+date: 2014-02-03T18:40:00+00:00
+url: /making-hadoop-accessible-to-your-employees-with-ldap/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/75499679342/making-hadoop-accessible-to-your-employees-with-ldap
+tumblr_gethue_id:
+  - 75499679342
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Administration
+
+---
+_Last updated on July 9th 2015_
+
+&nbsp;
+
+<p id="docs-internal-guid-49c91822-f8f9-c344-7f5b-b38ff53dec04">
+  <a href="https://gethue.com/">Hue</a> easily integrates with your corporation’s existing identity management systems and provides authentication mechanisms for SSO providers. By changing a few configuration parameters, your employees can start doing big data analysis in their browser by leveraging an existing security policy.
+</p>
+
+&nbsp;
+
+This blog post details the various features and capabilities available in Hue for [LDAP][1]:
+
+  1. [Authentication][2]
+  2. [Search bind][3]
+  3. [Direct bind][4]
+
+[Importing users][5]
+
+[Importing groups][6]
+
+[Synchronizing users and groups][7]
+
+  1. [Attributes synchronized][8] 
+  2. [Useradmin interface][9]
+  3. [Command line interface][10]
+
+[LDAP search][11]
+
+[Case sensitivity][12]
+
+[LDAPS/StartTLS support][13]
+
+[Debugging][14]
+
+[Notes][15]
+
+[Summary][16]
+
+# 1.    Authentication {#t1}
+
+The typical authentication scheme for Hue takes of the form of the following image:
+
+<img src="https://lh4.googleusercontent.com/AQIzUO7ZAzhngTVb7dwqgn2GIDadjiIfrkdsSU6UbLnzW5pU0rix56YX1cS6czuvTWC1pfkDzuxoupsT07VRosYAWPV0a_cIqZqvlgJK__U8bi77yQq8rW-SKw" alt="image" width="624px;" height="432px;" />
+
+Passwords are saved into the Hue databases.
+
+&nbsp;
+
+With the Hue LDAP integration, users can use their LDAP credentials to authenticate and inherit their existing groups transparently. There is no need to save or duplicate any employee password in Hue:
+
+<img src="https://lh4.googleusercontent.com/5b7VQbyi_sI9FO1KR7Gk9ayWUJLJcziWGM22YiJveEIOgwz4FN5kXKHgxyHgT41CeXualfmCOM73C8k1IaU9PqBEtfessdJyLk9-rF4cZOq9JA0rx0XWUZDQfA" alt="image" width="624px;" height="468px;" />
+
+There are several other ways to authenticate with Hue: PAM, SPNEGO, OpenID, OAuth, SAML2, etc. This section details how Hue can authenticate against an LDAP directory server.
+
+&nbsp;
+
+When authenticating via LDAP, Hue validates login credentials against a directory service if configured with this authentication backend:
+
+&nbsp;
+
+{{< highlight bash >}}'desktop]
+   
+[[auth]]
+   
+backend=desktop.auth.backend.LdapBackend
+  
+{{< /highlight >}}
+
+The LDAP authentication backend will automatically create users that don’t exist in Hue by default. Hue needs to import users in order to properly perform the authentication. The password is never imported when importing users. The following configuration can be used to disable automatic import:
+
+{{< highlight bash >}}'desktop]
+    
+[[ldap]]
+    
+create_users_on_login=false
+  
+{{< /highlight >}}
+
+The purpose of disabling the automatic import is to only allow to login a predefined list of manually imported users.
+
+&nbsp;
+
+The case sensitivity of the authentication process is defined in the “Case sensitivity” section below.
+
+&nbsp;
+
+**Note**
+
+If a user is logging in as A before enabling LDAP auth and then after enabling LDAP auth logs in as B,  all workflows, queries etc will be associated with the user A and be unavailable. The old workflows would need to have their owner fields changed to B: this can be done in [the Hue shell][17].
+
+&nbsp;
+
+There are two different ways to authenticate with a directory service through Hue:
+
+  1. [Search bind][3]
+  2. [Direct bind][4]
+
+## 1.1.    Search bind {#t2}
+
+The search bind mechanism for authenticating will perform an [ldapsearch][18] against the directory service and bind using the found [distinguished name][19] (DN) and password provided. This is, by default, used when authenticating with LDAP. The configurations that affect this mechanism are outlined in “LDAP search”.
+
+## 1.2.    Direct bind {#t3}
+
+The direct bind mechanism for authenticating will bind to the ldap server using the username and password provided at login. There are two options that can be used to choose how Hue binds:
+
+  1. nt_domain - Domain component for [User Principal Names (UPN)][20] in active directory. This active directory specific idiom allows Hue to authenticate with active directory without having to follow LDAP references to other partitions. This typically maps to the email address of the user or the users ID in conjunction with the domain.
+  2. ldap_username_pattern - Provides a template for the DN that will ultimately be sent to the directory service when authenticating.
+
+&nbsp;
+
+If ‘nt_domain’ is provided, then Hue will use a UPN to bind to the LDAP service:
+
+&nbsp;
+
+{{< highlight bash >}}'desktop]
+    
+[[ldap]]
+    
+nt_domain=example.com
+  
+{{< /highlight >}}
+
+Otherwise, the ‘ldap_username_pattern’ configuration is used (the <username> parameter will be replaced with the username provided at login):
+
+&nbsp;
+
+{{< highlight bash >}}'desktop]
+      
+[[ldap]]
+      
+ldap_username_pattern="uid=<username>,ou=People,DC=hue-search,DC=ent,DC=cloudera,DC=com"
+  
+{{< /highlight >}}
+
+Typical attributes to search for include:
+
+&nbsp;
+
+  1. uid
+  2. sAMAccountName
+
+&nbsp;
+
+To enable direct bind authentication, the ‘search_bind_authentication’ configuration must be set to false:
+
+&nbsp;
+
+{{< highlight bash >}}'desktop]
+      
+[[ldap]]
+      
+search_bind_authentication=false
+  
+{{< /highlight >}}
+
+# 2.    Importing users {#t4}
+
+If an LDAP user needs to be part of a certain group and have a particular set of permissions, then this user can be imported via the Useradmin interface:<img src="https://lh3.googleusercontent.com/KVf0ktv3eiPtdHNwKSOE2fwJAsrPshdhTed0q5NpyT6YL8EVNk4o1t0kW42vmYOJX-TVa6xKeVPgbuS6liwyv3h65VYZpOzs1U4aW2L30walG8i7hMn9Cr7Tyw" alt="image" width="624px;" height="256px;" />
+
+&nbsp;
+
+As you can see, there are two options available when importing:
+
+  1. Distinguished name
+  2. Create home directory
+
+&nbsp;
+
+If ‘Create home directory’ is checked, when the user is imported their home directory in HDFS will automatically be created, if it doesn’t already exist.
+
+&nbsp;
+
+If ‘Distinguished name’ is checked, then the username provided must be a full distinguished name (eg: uid=hue,ou=People,dc=gethue,dc=com). Otherwise, the Username provided should be a fragment of a [Relative Distinguished Name][19] (rDN) (e.g., the username “hue” maps to the rDN “uid=hue”). Hue will perform an LDAP search using the same methods and configurations as defined in the “LDAP search” section. Essentially, Hue will take the provided username and create a search filter using the ‘user_filter’ and ‘user_name_attr’ configurations. For more information on how Hue performs LDAP searches, see the “LDAP Search” section.
+
+&nbsp;
+
+The case sensitivity of the search and import processes are defined in the “Case sensitivity” section.
+
+# 3.    Importing groups {#t5}
+
+Groups are importable via the Useradmin interface. Then, users can be added to this group, which would provide a set of [permissions][21] (e.g. accessing the Impala application). This function works almost the exact same way as user importing, but has a couple of extra features.
+
+<img src="https://lh5.googleusercontent.com/LvlA_uzaAP4R1JgRlFYNuDgZK-ydgBE965ocAx6pk6rP3EOeEBUarfboPqhJs8J8xjXNbhYJ5C2BA_FphgcyhdHHu1tSefXD9lI8SLeqBLOgyQh0OMXDrvuQRQ" alt="image" width="624px;" height="323px;" />
+
+As the above image portrays, not only can groups be discovered via DN and rDN search, but users that are members of the group and members of the group’s subordinate groups can be imported as well. Posix groups and members are automatically imported if the group found has the object class ”posixGroup”.
+
+# 4.    Synchronizing users and groups {#t6}
+
+Users and groups can be synchronized with the directory service via the Useradmin interface or via a [command line utility][22]. The images from the previous sections use the words “Sync” to indicate that when a name of a user or group that exists in Hue is being added, it will in fact be synchronized instead. In the case of importing users for a particular group, new users will be imported and existing users will be synchronized. Note: Users that have been deleted from the directory service will not be deleted from Hue. Those users can be manually deactivated from Hue via the Useradmin interface.
+
+The groups of a user can be synced when he logs in (to keep its permission in sync):
+
+{{< highlight bash >}}'desktop]
+    
+[[ldap]]
+    
+\# Synchronize a users groups when they login
+    
+\## sync_groups_on_login=false
+  
+{{< /highlight >}}
+
+## 4.1.    Attributes synchronized {#t7}
+
+Currently, only the first name, last name, and email address are synchronized. Hue looks for the LDAP attributes ‘givenName’, ‘sn’, and ‘mail’ when synchronizing.  Also, the ‘<span id="docs-internal-guid-10a61405-0603-d23c-d680-d96c2a0139bb">user_name_attr</span>’ config is used to appropriately choose the username in Hue. For instance, if ‘user_name_attr’ is set to “uid”, then the “uid” returned by the directory service will be used as the username of the user in Hue.
+
+## 4.2.    Useradmin interface {#t8}
+
+The “Sync LDAP users/groups” button in the Useradmin interface will  automatically synchronize all users and groups.<img src="https://lh4.googleusercontent.com/OLINkq2po8IjnFr6-V9uyiDrN-KBK3_IaRBLVIhwGy73b5F_UZIg7mI15XYeQnFNqKBajs8BXh7B7zkowJTxaHY91a04p2lZPBHkaMVbjtGXEcvE-XToqmr8cQ" alt="image" width="624px;" height="181px;" />
+
+## 4.3.    Command line interface {#t9}
+
+Here’s a quick example of how to use the command line interface to synchronize users and groups:
+
+<pre class="code">&lt;hue root&gt;/build/env/bin/hue sync_ldap_users_and_groups</pre>
+
+# 5.    LDAP search {#t10}
+
+There are two configurations for restricting the search process:
+
+  1. user_filter - General [LDAP filter][23] to restrict the search.
+  2. user_name_attr - Which attribute will be considered the username to search against.
+
+&nbsp;
+
+Here is an example configuration:
+
+{{< highlight bash >}}'desktop]
+      
+[[ldap]]
+      
+[[[users]]]
+      
+user_filter=”objectClass=*”
+      
+user_name_attr=uid
+
+\# Whether or not to follow referrals
+      
+\## follow_referrals=false
+  
+{{< /highlight >}}
+
+With the above configuration, the LDAP search filter will take on the form:
+
+<pre class="code">(&(objectClass=*)(uid=&lt;user entered usename&gt;))</pre>
+
+# 6.    Case sensitivity {#t11}
+
+Hue can be configured to ignore the case of usernames as well as force usernames to lower case via the ‘ignore_username_case’ and ‘force_username_lowercase’ configurations. These two configurations are recommended to be used in conjunction with each other. This is useful when integrating with a directory service containing usernames in capital letters and unix usernames in lowercase letters (which is a Hadoop requirement). Here is an example of configuring them:
+
+[desktop]
+
+{{< highlight bash >}}'desktop]
+      
+[[ldap]]
+      
+ignore_username_case=true
+      
+force_username_lowercase=true
+  
+{{< /highlight >}}
+
+# 7.    LDAPS/StartTLS support {#t12}
+
+Secure communication with LDAP is provided via the SSL/TLS and StartTLS protocols. It allows Hue to validate the directory service it’s going to converse with. Practically speaking, if a Certificate Authority Certificate file is provided, Hue will communicate via LDAPS:
+
+{{< highlight bash >}}'desktop]
+      
+[[ldap]]
+      
+ldap_cert=/etc/hue/ca.crt
+  
+{{< /highlight >}}
+
+The StartTLS protocol can be used as well (step up to SSL/TLS):
+
+{{< highlight bash >}}'desktop]
+      
+[[ldap]]
+      
+use_start_tls=true
+  
+{{< /highlight >}}
+
+&nbsp;
+
+# 8.    Debugging {#t12b}
+
+Get more information when querying LDAP and use the ldapsearch tool:
+
+{{< highlight bash >}}'desktop]
+      
+[[ldap]]
+      
+debug=true
+
+\# Sets the debug level within the underlying LDAP C lib.
+      
+\## debug_level=255
+
+\# Possible values for trace_level are 0 for no logging, 1 for only logging the method calls with arguments,
+      
+\# 2 for logging the method calls with arguments and the complete results and 9 for also logging the traceback of method calls.
+      
+trace_level=0
+  
+{{< /highlight >}}
+
+**Note**
+
+Make sure to add to the Hue server environment:
+
+{{< highlight bash >}}DESKTOP_DEBUG=true
+  
+DEBUG=true{{< /highlight >}}
+
+&nbsp;
+
+# 9.    Notes {#t13}
+
+  1. Setting “search_bind_authentication=true” in the hue.ini will tell Hue to perform an LDAP search using the bind credentials specified in the hue.ini (bind_dn, bind_password). Hue will then search using the base DN specified in “base_dn” for an entry with the attribute, defined in “user_name_attr”, with the value of the short name provided in the login page. The search filter, defined in “user_filter” will also be used to limit the search. Hue will search the entire subtree starting from the base DN.
+  2. Setting  ”search_bind_authentication=false” in the hue.ini will tell Hue to perform a direct bind to LDAP using the credentials provided (not bind_dn and bind_password specified in the hue.ini). There are two effective modes here: 
+      1. nt_domain is specified in the hue.ini: This is used to connect to an Active Directory directory service. In this case, the UPN (User Principal Name) is used to perform a direct bind. Hue forms the UPN by concatenating the short name provided at login and the nt_domain like so: “<short name>@<nt_domain>”. The ‘ldap_username_pattern’ config is completely ignore.
+      2. nt_domain is NOT specified in the hue.ini: This is used to connect to all other directory services (can even handle Active Directory, but nt_domain is the preferred way for AD). In this case, ‘ldap_username_pattern’ is used and it should take on the form “cn=<username>,dc=example,dc=com” where <username> will be replaced with whatever is provided at the login page.
+  3. The UserAdmin app will always perform an LDAP search when manage LDAP entries and will then always use the “bind_dn”, “bind_password”, “base_dn”, etc. as defined in the hue.ini.
+  4. At this point in time, there is no other bind semantics supported other than SIMPLE_AUTH. For instance, we do not yet support MD5-DIGEST, NEGOTIATE, etc. Though, we definitely want to hear from folks what they use so we can prioritize these things accordingly!
+
+# 10.    Summary {#t14}
+
+The [Hue team][24] is working hard on improving [security][25]. Upcoming LDAP features include: Import nested LDAP groups and multidomain support for Active Directory. We hope this brief overview of LDAP in Hue will help you make your system more secure, more compliant with current security standards, and open up big data analysis to many more users!
+
+As always, feel free to contact us at [hue-user@][26] or [@gethue][27]!
+
+ [1]: http://en.wikipedia.org/wiki/Ldap
+ [2]: #t1
+ [3]: #t2
+ [4]: #t3
+ [5]: #t4
+ [6]: #t5
+ [7]: #t6
+ [8]: #t7
+ [9]: #t8
+ [10]: #t9
+ [11]: #t10
+ [12]: #t11
+ [13]: #t12
+ [14]: #t12b
+ [15]: #t13
+ [16]: #t14
+ [17]: https://gethue.com/how-to-manage-the-hue-database-with-the-shell/
+ [18]: http://www.zytrax.com/books/ldap/ch14/#ldapsearch
+ [19]: http://www.zytrax.com/books/ldap/apa/dn-rdn.html
+ [20]: http://msdn.microsoft.com/en-us/library/windows/desktop/ms680857(v=vs.85).aspx
+ [21]: http://gethue.tumblr.com/post/48706063756/how-to-manage-permissions-in-hue
+ [22]: https://github.com/cloudera/hue/blob/branch-3.5/apps/useradmin/src/useradmin/management/commands/sync_ldap_users_and_groups.py
+ [23]: http://www.zytrax.com/books/ldap/apa/search.html
+ [24]: http://gethue.tumblr.com/post/66661140648/hue-team-retreat-thailand
+ [25]: http://gethue.tumblr.com/post/69803995520/recent-security-enhancements
+ [26]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [27]: https://twitter.com/gethue

+ 68 - 0
docs/gethue/content/posts/2014-02-03-solving-the-hue-2-x-hanging-problem.md

@@ -0,0 +1,68 @@
+---
+title: Solving the Hue 2.X hanging problem
+author: admin
+type: post
+date: 2014-02-03T17:25:00+00:00
+url: /solving-the-hue-2-x-hanging-problem/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/75493515493/solving-the-hue-2-x-hanging-problem
+tumblr_gethue_id:
+  - 75493515493
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Administration
+  - Querying
+
+---
+In the Hue versions before [3][1], Hue is sometimes getting slow and “stuck”. To fix this problem, it is recommended to switch Hue to use the CherryPy server instead of Spawning. In the [hue.ini][2] or the Hue Safety Valve in CM, enter:
+
+{{< highlight bash >}}[desktop]
+
+use_cherrypy_server = true
+
+{{< /highlight >}}
+
+**Cause**:
+
+Most of the time some timeout/Thrift errors can be seen in the Hue logs (/logs page). These errors are due to Beeswax crashing or being very slow and blocking all the requests as the Spawing Server is not perfectly [greenified][3] in Hue 2 (the unique Thread is blocked in the RPC IO call). This is fixed in CDH5 and improved in CDH4.5 by switching to [HiveServer2][4].
+
+CherryPy use 10 threads which is a good default. For more performance, 30 can be used.
+
+Note: switching to CherryPy will disable the Shell Application but this one is replaced by the [HBase Browser][5], [Sqoop2 Editor][6] and [Pig Editor][7] applications.
+
+ [1]: http://gethue.tumblr.com/post/69115755563/hue-3-5-and-its-redesign-are-out
+ [2]: https://github.com/cloudera/hue/blob/branch-2.5/desktop/conf.dist/hue.ini#L45
+ [3]: http://eventlet.net/
+ [4]: http://gethue.tumblr.com/post/64916325309/hadoop-tutorial-hive-query-editor-with-hiveserver2-and
+ [5]: http://gethue.tumblr.com/post/59071544309/the-web-ui-for-hbase-hbase-browser
+ [6]: http://gethue.tumblr.com/post/63064228790/move-data-in-out-your-hadoop-cluster-with-the-sqoop
+ [7]: http://gethue.tumblr.com/post/51559235973/tutorial-apache-pig-editor-in-hue-2-3

+ 56 - 0
docs/gethue/content/posts/2014-02-06-sf-hue-meetup-hue-3-5-and-where-we-stand.md

@@ -0,0 +1,56 @@
+---
+title: 'SF Hue Meetup: Hue 3.5 and where we stand'
+author: admin
+type: post
+date: 2014-02-06T07:16:00+00:00
+url: /sf-hue-meetup-hue-3-5-and-where-we-stand/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/75779176506/sf-hue-meetup-hue-3-5-and-where-we-stand
+tumblr_gethue_id:
+  - 75779176506
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - News
+
+---
+<div>
+  <strong> <a title="Hue: The Hadoop UI - Where we stand, Hue Meetup SF" href="https://www.slideshare.net/gethue/hue-meetup-20140205" target="_blank" rel="noopener noreferrer">Hue: The Hadoop UI - Where we stand, Hue Meetup SF </a> </strong> from <strong><a href="http://www.slideshare.net/gethue" target="_blank" rel="noopener noreferrer">gethue</a></strong>
+</div>
+
+<div>
+</div>
+
+<div>
+  <a href="http://www.meetup.com/San-Francisco-Bay-Area-Hue-Users/events/157399592/"><strong>Hue Meetup</strong></a>
+</div>
+
+<iframe src="http://www.slideshare.net/slideshow/embed_code/30884457" height="550" width="900" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>

+ 90 - 0
docs/gethue/content/posts/2014-02-19-how-to-use-the-new-file-types-icons-with-the-hue-sdk-or.md

@@ -0,0 +1,90 @@
+---
+title: How to use the new file types icons with the Hue SDK or in standalone
+author: admin
+type: post
+date: 2014-02-19T22:03:00+00:00
+url: /how-to-use-the-new-file-types-icons-with-the-hue-sdk-or/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/77209676786/how-to-use-the-new-file-types-icons-with-the-hue-sdk-or
+tumblr_gethue_id:
+  - 77209676786
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Development
+
+---
+<p id="docs-internal-guid-2d78f639-4c29-7375-9428-f6c418c4470f">
+  <span>Hue 3.5+ ships with two font icon sets: Font Awesome 4 (</span><a href="http://fontawesome.io/">http://fontawesome.io/</a><span>) and the Hue Filetypes font that includes some basic file types you might need.</span>
+</p>
+
+The icons are available in the Hue [master][1] or in this [zip file][2]:
+
+<img alt="" src="https://lh4.googleusercontent.com/43JXsa-J7epO0SzwjzPMQRCRM-2_EJLjiebZ___F6MDwIRAAg7MjfhYM21EKZgwECq2SKDcn-48-TI9DlJfvHRQabEEMyoFZZODBDMPL2Vi7cOo0wJ8PcTO9sQ" width="483px;" height="240px;" />
+
+When you want to use the new icons in your app, you have first to import the Hue Filetypes css in your .mako template:
+
+&nbsp;
+
+<pre class="code">&lt;link href="/static/ext/css/hue-filetypes.css" rel="stylesheet"&gt;</pre>
+
+and then define you icons with the same way you would do with Font Awesome.
+
+<span>In our case you need to write a prefix (</span><span>hfo</span> <span>instead of </span><span>fa)</span>
+
+&nbsp;
+
+<pre class="code">&lt;i class="hfo .."&gt;&lt;/i&gt;</pre>
+
+and then you can specify the icon you want. To render a JSON file icon for instance you should use
+
+&nbsp;
+
+<pre class="code">&lt;i class="hfo hfo-file-json"&gt;&lt;/i&gt;</pre>
+
+&nbsp;
+
+<span>You can also use the modifiers from Font Awesome, so you can create a larger rotated PDF icon like this:</span>
+
+&nbsp;
+
+<pre class="code">&lt;i class="hfo hfo-file-json fa-2x fa-rotate-90"&gt;&lt;/i&gt;</pre>
+
+&nbsp;
+
+<span>Which other icons would you like to see implemented? We would also be glad to contribute them </span>[<span>back</span>][2]<span>. Please let us </span>[<span>know</span>][3] <span>or</span>[<span>comment</span>][4]<span>!</span>
+
+&nbsp;
+
+ [1]: https://github.com/cloudera/hue
+ [2]: https://cdn.gethue.com/downloads/HueFiletypes.zip
+ [3]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [4]: https://twitter.com/gethue

+ 47 - 0
docs/gethue/content/posts/2014-02-21-san-francisco-developer-get-started-with-the-hue-sdk.md

@@ -0,0 +1,47 @@
+---
+title: 'San Francisco Developer: Get started with the Hue SDK'
+author: admin
+type: post
+date: 2014-02-21T05:22:00+00:00
+url: /san-francisco-developer-get-started-with-the-hue-sdk/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/77353270466/san-francisco-developer-get-started-with-the-hue-sdk
+tumblr_gethue_id:
+  - 77353270466
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Development
+
+---
+From [San Francisco Developer Meetup][1]
+
+ [1]: https://www.eventbrite.com/e/developer-happy-hour-building-hadoop-2-applications-tickets-7974071663

+ 54 - 0
docs/gethue/content/posts/2014-02-26-secure-your-yarn-cluster-and-access-the-jobs.md

@@ -0,0 +1,54 @@
+---
+title: Secure your YARN cluster and access the jobs information safely
+author: admin
+type: post
+date: 2014-02-26T21:42:00+00:00
+url: /secure-your-yarn-cluster-and-access-the-jobs/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/77939687768/secure-your-yarn-cluster-and-access-the-jobs
+tumblr_gethue_id:
+  - 77939687768
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Browsing
+
+---
+<p id="docs-internal-guid-7ca70170-7024-010f-4ab7-0cefc838920c">
+  Hue can authenticate with Kerberos in YARN and guarantee than someone cannot access someone else’s MapReduce information.
+</p>
+
+<span id="docs-internal-guid-7ca70170-7024-1355-fdd6-a0994c9c8805">As usual feel free to comment on the </span>[hue-user][1] list or [@gethue][2]!
+
+{{< vimeo 85922379 >}}
+
+ [1]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [2]: https://twitter.com/gethue

+ 69 - 0
docs/gethue/content/posts/2014-03-04-hadoop-tutorial-schedule-your-hadoop-jobs-intuitively.md

@@ -0,0 +1,69 @@
+---
+title: 'Hadoop Tutorial: Schedule your Hadoop jobs intuitively with the new Oozie crontab!'
+author: admin
+type: post
+date: 2014-03-04T23:59:38+00:00
+url: /hadoop-tutorial-schedule-your-hadoop-jobs-intuitively/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/78593185931/hadoop-tutorial-schedule-your-hadoop-jobs-intuitively
+tumblr_gethue_id:
+  - 78593185931
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Scheduling
+
+---
+<p id="docs-internal-guid-be480bc2-8f87-c4e1-42a3-9789aa72a148">
+  Hue is taking advantage of a new way to specify the frequency of a coordinator in Oozie (<a href="https://issues.apache.org/jira/browse/OOZIE-1306">OOZIE-1306</a>). Here is how to put it in practice:
+</p>
+
+&nbsp;
+
+<iframe src="https://player.vimeo.com/video/85922380?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop Tutorial: Oozie crontab scheduling in Hue" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+The crontab requires Oozie 4. In order to use the previous Frequency drop-down from Oozie 3, the feature can be disabled in [hue.ini][1]:
+
+&nbsp;
+
+<pre class="code">[oozie]
+
+ # Use Cron format for defining the frequency of a Coordinator instead of the old frequency number/unit.
+
+ enable_cron_scheduling=false</pre>
+
+&nbsp;
+
+<span>As usual feel free to comment on the</span>[<span>hue-user</span>][2] <span>list or</span>[<span>@gethue</span>][3]<span>!</span>
+
+ [1]: https://github.com/cloudera/hue/blob/master/desktop/conf.dist/hue.ini#L589
+ [2]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [3]: https://twitter.com/gethue

+ 93 - 0
docs/gethue/content/posts/2014-03-06-how-hue-integrates-hadoop-with-django.md

@@ -0,0 +1,93 @@
+---
+title: How Hue integrates Hadoop with Django
+author: admin
+type: post
+date: 2014-03-06T07:41:00+00:00
+url: /how-hue-integrates-hadoop-with-django/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/78732688919/how-hue-integrates-hadoop-with-django
+tumblr_gethue_id:
+  - 78732688919
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - News
+  - Development
+
+---
+<div>
+  <strong> <a title="Django meetup" href="https://www.slideshare.net/gethue/django-meetup" target="_blank" rel="noopener noreferrer">Django meetup</a> </strong> from <strong><a href="http://www.slideshare.net/gethue" target="_blank" rel="noopener noreferrer">gethue</a></strong>
+</div>
+
+<div>
+</div>
+
+<iframe src="http://www.slideshare.net/slideshow/embed_code/31977029" width="900" height="550" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
+
+<div>
+  <strong>SF Django Meetup: <a href="http://www.meetup.com/The-San-Francisco-Django-Meetup-Group/events/150948642/" target="_blank" rel="noopener noreferrer">How to integrate Hadoop with Hue</a></strong>
+</div>
+
+<div>
+</div>
+
+<div>
+</div>
+
+[<img class="alignnone size-medium wp-image-707" src="https://cdn.gethue.com/uploads/2014/03/tumblr_inline_n20ud3fadK1qzo3ii-300x225.jpg"  />][1]
+
+<div>
+  <p>
+    Main talk
+  </p>
+
+  <p>
+    <a href="https://cdn.gethue.com/uploads/2014/03/tumblr_inline_n20u8yWcFr1qzo3ii.jpg"><img class="alignnone size-medium wp-image-710" src="https://cdn.gethue.com/uploads/2014/03/tumblr_inline_n20u8yWcFr1qzo3ii-300x225.jpg"  /></a>
+  </p>
+
+  <p>
+    More pizzas<br /> <a href="https://cdn.gethue.com/uploads/2014/03/tumblr_inline_n20u9bwfSU1qzo3ii.jpg"><img class="alignnone size-medium wp-image-709" src="https://cdn.gethue.com/uploads/2014/03/tumblr_inline_n20u9bwfSU1qzo3ii-224x300.jpg"  /></a>
+  </p>
+
+  <p>
+    Lot of mingling
+  </p>
+
+  <p>
+    <a href="https://cdn.gethue.com/uploads/2014/03/tumblr_inline_n20ubwSx1o1qzo3ii.jpg"><img class="alignnone size-medium wp-image-708" src="https://cdn.gethue.com/uploads/2014/03/tumblr_inline_n20ubwSx1o1qzo3ii-300x225.jpg"  /></a>
+  </p>
+
+  <p>
+    A great event!
+  </p>
+</div>
+
+ [1]: https://cdn.gethue.com/uploads/2014/03/tumblr_inline_n20ud3fadK1qzo3ii.jpg

+ 44 - 0
docs/gethue/content/posts/2014-03-10-join-the-hue-team.md

@@ -0,0 +1,44 @@
+---
+title: Join the Hue Team!
+author: admin
+type: post
+date: 2014-03-10T02:14:00+00:00
+url: /join-the-hue-team/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/79123129434/join-the-hue-team
+tumblr_gethue_id:
+  - 79123129434
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - News
+
+---

+ 82 - 0
docs/gethue/content/posts/2014-03-14-how-to-fix-the-multipleobjectsreturned-error-in-hue.md

@@ -0,0 +1,82 @@
+---
+title: How to fix the MultipleObjectsReturned error in Hue
+author: admin
+type: post
+date: 2014-03-14T17:47:00+00:00
+url: /how-to-fix-the-multipleobjectsreturned-error-in-hue/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/79568564935/how-to-fix-the-multipleobjectsreturned-error-in-hue
+tumblr_gethue_id:
+  - 79568564935
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-2
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+sf_page_title_image:
+  - 222
+categories:
+  - Administration
+  - Development
+
+---
+When going on the Home page (/home) in Hue 3.0, this error could appear:
+
+{{< highlight bash >}}MultipleObjectsReturned: get() returned more than one DocumentPermission - it returned 2! Lookup parameters were {'perms': 'read', 'doc': <Document: saved query Sample: Job loss sample>}{{< /highlight >}}
+
+This is fixed in Hue 3.6 and here is a way to repair it:
+
+1. Backup the Hue <a href="http://gethue.tumblr.com/post/75496233379/how-to-manage-the-hue-database-with-the-shell" target="_blank" rel="noopener noreferrer">database</a>
+
+2. Run the cleanup script
+
+{{< highlight python >}}
+
+from desktop.models import DocumentPermission, Document
+
+for document in Document.objects.all():
+
+try:
+
+perm, created = DocumentPermission.objects.get_or_create(doc=document, perms=DocumentPermission.READ_PERM)
+
+except DocumentPermission.MultipleObjectsReturned, ex:
+
+\# We can delete duplicate perms of a document
+
+dups = DocumentPermission.objects.filter(doc=document, perms=DocumentPermission.READ_PERM)
+
+perm = dups[0]
+
+for dup in dups[1:]:
+
+print 'Deleting duplicate %s' % dup
+
+dup.delete()
+
+{{< /highlight >}}

+ 119 - 0
docs/gethue/content/posts/2014-03-23-tutorial-live-demo-of-search-on-hadoop.md

@@ -0,0 +1,119 @@
+---
+title: Search samples for a live demo of Search on Hadoop
+author: admin
+type: post
+date: 2014-03-23T05:00:00+00:00
+url: /tutorial-live-demo-of-search-on-hadoop/
+tumblr_gethue_permalink:
+  - http://gethue.tumblr.com/post/78012277574/tutorial-live-demo-of-search-on-hadoop
+tumblr_gethue_id:
+  - 78012277574
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Querying
+
+---
+Edit: This post is deprecated since [Hue 3.6][1], clicking on the install button is the only thing to do now!
+
+Hue comes up with a series of examples (for [Hive][2]/[Impala][2], [HBase][3]...) to help you get started with Hadoop. Recently, some demo Collection/Indexes were added for the [Search Application][4]:
+
+<p style="text-align: center;">
+  Twitter<a href="https://cdn.gethue.com/uploads/2014/03/Screenshot-from-2014-04-09-080626.png"><br /> <img src="https://cdn.gethue.com/uploads/2014/03/Screenshot-from-2014-04-09-080626.png" alt="Screenshot from 2014-04-09 08:06:26" width="691" height="348"  /></a>
+</p>
+
+<p style="text-align: center;">
+  Logs<br /> <a href="https://cdn.gethue.com/uploads/2014/03/Screenshot-from-2014-04-09-080635.png"><img class="wp-image-1105 aligncenter" src="https://cdn.gethue.com/uploads/2014/03/Screenshot-from-2014-04-09-080635.png" alt="Screenshot from 2014-04-09 08:06:35" width="690" height="347"  /></a>
+</p>
+
+<p style="text-align: center;">
+  Yelp
+</p>
+
+<p style="text-align: center;">
+  <a href="https://cdn.gethue.com/uploads/2014/03/Screenshot-from-2014-04-09-080630.png"><img class="wp-image-1106 aligncenter" src="https://cdn.gethue.com/uploads/2014/03/Screenshot-from-2014-04-09-080630.png" alt="Screenshot from 2014-04-09 08:06:30" width="691" height="348"  /><br /> </a>
+</p>
+
+To install them,  got to Hue on the [/about/][5] page and on Step 2 click on 'Solr Search':
+
+<p style="text-align: center;">
+  <a href="https://cdn.gethue.com/uploads/2014/03/Screenshot-from-2014-04-09-083220.png"><img class=" wp-image-1120 aligncenter" src="https://cdn.gethue.com/uploads/2014/03/Screenshot-from-2014-04-09-083220.png" alt="Screenshot from 2014-04-09 08:32:20" width="520" height="427"  /></a>
+</p>
+
+This will install the search templates in Hue. To make the demo work by default, Hue is using a predefined Solr response. Hue displays a warning in this case as the page is not updated when typing a query:
+
+[<img class="alignnone size-full wp-image-1104" src="https://cdn.gethue.com/uploads/2014/03/Screenshot-from-2014-03-10-161306.png" alt="Screenshot from 2014-03-10 16:13:06" width="628" height="58"  />][6]
+
+The next step is to create the indexed into Solr. First, make sure that Solr has been setup and initialized [correctly][7].
+
+In order to query a live dataset, you need to index some data. Go on the Hue machine:
+
+{{< highlight bash >}}
+
+cd $HUE_HOME
+
+cd apps/search/examples/bin
+
+{{< /highlight >}}
+
+Then create the Solr collections:
+
+{{< highlight bash >}}./create_collections.sh{{< /highlight >}}
+
+In case Solr is not on the same machine, add this parameter in the script:
+
+{{< highlight bash >}}-solr http://localhost:8983/solr{{< /highlight >}}
+
+Then index some example data with:
+
+{{< highlight bash >}}./post.sh{{< /highlight >}}
+
+Same, if Solr is on a different machine, update the url:
+
+{{< highlight bash >}}URL=http://localhost:8983/solr{{< /highlight >}}
+
+And that’s it! The above warning message will disappear and you will be able to query Solr indexes in live!
+
+Then go create your own Search!
+
+{{< vimeo 76878078 >}}
+
+As usual feel free to comment on the[ hue-user][8] list or [@gethue][9]!
+
+ [1]: https://gethue.com/analyse-apache-logs-and-build-your-own-web-analytics-dashboard-with-hadoop-and-solr
+ [2]: https://gethue.com/hadoop-tutorial-new-impala-and-hive-editors/
+ [3]: https://gethue.com/the-web-ui-for-hbase-hbase-browser/ "The Web UI for HBase: HBase Browser"
+ [4]: http://gethue.tumblr.com/post/65969470780/hadoop-tutorials-season-ii-7-how-to-index-and-search
+ [5]: http://127.0.0.1:8888/about/
+ [6]: https://cdn.gethue.com/uploads/2014/03/Screenshot-from-2014-03-10-161306.png
+ [7]: http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH5/latest/Search/Cloudera-Search-Installation-Guide/csig_deploy_search_solrcloud.html
+ [8]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [9]: https://twitter.com/gethue

+ 119 - 0
docs/gethue/content/posts/2014-03-26-hadoop-tutoriel-comment-acceder-a-hive-depuis-pig-avec-hcatalog-et-hue.md

@@ -0,0 +1,119 @@
+---
+title: 'Hadoop tutoriel: comment accéder à Hive depuis Pig avec HCatalog et Hue'
+author: admin
+type: post
+date: 2014-03-26T06:50:43+00:00
+url: /hadoop-tutoriel-comment-acceder-a-hive-depuis-pig-avec-hcatalog-et-hue/
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_author_info:
+  - 1
+sf_social_sharing:
+  - 1
+sf_related_articles:
+  - 1
+sf_sidebar_config:
+  - right-sidebar
+sf_left_sidebar:
+  - Sidebar-1
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+
+
+---
+### Ce blog est sur ​​l'acc&egrave;s du Metastore de Hive avec Hue, l'open source Hadoop UI et &eacute;claircir une certaine confusion sur l'utilsation de HCatalog. {.subhead}</p>
+
+# Qu'est ce HCatalog?
+
+<a href="http://hive.apache.org/docs/hcat_r0.5.0/" target="_blank" rel="noopener noreferrer">Apache HCatalog</a>&nbsp;est un projet permettant au application autres que Hive d'acc&eacute;der a ses tables.&nbsp;Vous pouvez ensuite charger directement les tables avec Pig ou MapReduce sans avoir &agrave; vous soucier de re-d&eacute;finir les sch&eacute;mas d'entr&eacute;e, de l'emplacement des donn&eacute;es ou leur duplication.</p>
+
+Hue est livr&eacute; avec une application pour acc&eacute;der &agrave; la metastore de Hive au sein de votre navigateur: Metastore Browser.&nbsp;Bases de donn&eacute;es et les tables peuvent &ecirc;tre parcourus &agrave; travers et cr&eacute;&eacute;s ou supprim&eacute;s avec des assistants.</p>
+
+Les assistants ont &eacute;t&eacute; d&eacute;montr&eacute;es dans le pr&eacute;c&eacute;dent tutoriel sur la fa&ccedil;on d'&nbsp;[analyser les donn&eacute;es de Yelp][1]&nbsp;.&nbsp;Hue utilise&nbsp;[HiveServer2][2]&nbsp;pour acc&eacute;der au Hive Metastore au lieu de HCatalog.&nbsp;C'est parce que HiveServer2 est le nouveau serveur concurrent s&eacute;curis&eacute;e et multi-usages pour la Hive et il inclut d&eacute;j&agrave; une riche et rapide API pour contacter le metastore.</p>
+
+Des connecteurs pour HCatalog sont cependant utiles pour acc&eacute;der aux donn&eacute;es de Hive depuis Pig.&nbsp;Voici une d&eacute;mo sur l'acc&egrave;s &agrave; l'exemple des tables de Hive depuis&nbsp;[Pig][3].</p>
+
+Voici un r&eacute;sum&eacute; vid&eacute;o (en anglais) des nouvelles fonctionnalit&eacute;s:
+
+{{< vimeo 71024770 >}}</p>
+
+# Tutoriel
+
+Vous devez d'abord installer HCatalog partir&nbsp;[ici][4]&nbsp;ou Cloudera Manager.&nbsp;Si vous utilisez un cluster non pseudo-distribu&eacute; (par exemple, pas sur une machine virtuelle de d&eacute;monstration) faire en sorte que le Metastore de Hive est&nbsp;[&agrave; distance][5]&nbsp;ou vous aurez une erreur comme ci-dessous.&nbsp;Ensuite, transf&eacute;rez les 3 jars de /usr/lib/HCatalog/share/HCatalog/ et tous ceux de Hive &agrave; partir de /usr/lib/hive/lib dans la Pig sharelib de Oozie situ&eacute;e dans /user/oozie/share/lib/pig.&nbsp;Cela peut &ecirc;tre fait en quelques clics, tout en &eacute;tant connect&eacute; en tant que utilsateur &laquo;oozie&raquo; ou &laquo;HDFS&raquo; dans le Navigateur de fichiers.</p>
+
+M&eacute;fiez-vous, tous les jars seront inclus dans tous les scripts de Pig, ce qui pourrait ne pas &ecirc;tre n&eacute;cessaire.&nbsp;Une autre solution serait de transf&eacute;rer ces jars dans votre r&eacute;pertoire home HDFS et ensuite inclure le chemin vers le r&eacute;pertoire avec une propri&eacute;t&eacute; Hadoop 'oozie.libpath' dans la section 'Propri&eacute;t&eacute;s' de l'&eacute;diteur de Pig.</p>
+
+Ensuite, assurez-vous que les exemples de Beeswaz sont install&eacute;s (&eacute;tape n &deg; 2 &agrave; l'Assistant de d&eacute;marrage rapide) et d'ouvrir l'&eacute;diteur de Pig et de calculer le&nbsp;[salaire moyen][6]&nbsp;dans le tableau (&eacute;quivalent de cette &nbsp;[requ&ecirc;te][7]&nbsp;Hive):</p>
+
+<pre class="code">- Tableau des charges 'sample_07'
+sample_07 = LOAD 'sample_07' en utilisant org.apache.hcatalog.pig.HCatLoader ();
+
+- Calculer le salaire moyen de la table
+salaires = GROUPE sample_07 tous;
+out = FOREACH salaires GENERATE AVG (sample_07. salaire);
+vider;
+</pre></p>
+
+Comme HCatalog a besoin d'acc&eacute;der au metastore, nous devons pr&eacute;ciser la hive-site.xml.&nbsp;Allez dans &laquo;Propri&eacute;t&eacute;s&raquo;, &laquo;Ressources&raquo; et ajouter un &laquo;Fichier&raquo; pointant vers la hive-site.xml upload&eacute;&nbsp;sur le HDFS.</p>
+
+Puis soumettre le script en appuyant sur CTRL + ENTRER!&nbsp;Le r&eacute;sultat (47963,62637362637)
+
+appara&icirc;tra &agrave; la fin des logs.</p>
+
+Notez que nous n'avons pas besoin de red&eacute;finir le sch&eacute;ma ca 'il est automatiquement capt&eacute; par le loader.&nbsp;Si vous utilisez l'Application Oozie, vous pouvez maintenant utiliser librement HCatalog dans vos actions Pig.</p>
+
+**Attention!**
+
+Si vous obtenez ce message d'erreur, cela signifie que votre metastore appartient &agrave; l'utilisateur Hive et n'est pas configur&eacute; en remote.
+
+<pre class="code">Cannot get a connection, pool error Could not create a validated object, cause: A read-only user or a user in a read-only database is not permitted to disable read-only mode on a connection.
+
+2013-07-24 23: 20:04,969 [main] INFO DataNucleus.Persistence - DataNucleus Persistance usine initialis&eacute; pour datastore URL = "jdbc: derby:; databaseName = / var / lib / ruche / metastore / metastore_db; create = true" driver = "org.apache.derby . jdbc.EmbeddedDriver "username =" APP "
+</pre></p>
+
+<pre class="code">sudo rm /var/lib/hive/metastore/metastore_db/*lck
+sudo chmod 777 -R /var/lib/hive/metastore/metastore_db
+</pre></p>
+
+De m&ecirc;me que HCatLoader, utilisez&nbsp;[HCatStorer][8]&nbsp;pour mettre &agrave; jour la table, par exemple:
+
+<pre class="code">STORE alias INTO 'sample_07' USING org.apache.hcatalog.pig.HCatStorer();
+</pre></p>
+
+# R&eacute;sum&eacute;
+
+Nous avons vu que Hue fait permet d'acceder le Hive Metastore facilement et prend en charge les connecteurs HCatalog pour Pig.&nbsp;Hue 3,0 simplifiera encore plus en copiant automatiquement les fichiers jar n&eacute;cessaires eten rendant les noms de table&nbsp;[auto-completant][9]&nbsp;!
+
+Comme d'habitude, nous nous r&eacute;jouissons de vos commentaires sur le&nbsp;[groupe d'utilisateurs][10]&nbsp;!
+
+ [1]: http://blog.cloudera.com/blog/2013/04/demo-analyzing-data-with-hue-and-hive/
+ [2]: http://blog.cloudera.com/blog/2013/07/how-hiveserver2-brings-security-and-concurrency-to-apache-hive/
+ [3]: http://gethue.tumblr.com/post/51559235973/tutorial-apache-pig-editor-in-hue-2-3
+ [4]: http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Installation-Guide/cdh4ig_topic_19.html
+ [5]: http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Installation-Guide/cdh4ig_hive_metastore_configure.html
+ [6]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/hcatalog/avg_salary.pig
+ [7]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/hcatalog/avg_salary.hql
+ [8]: http://hive.apache.org/docs/hcat_r0.5.0/loadstore.html#HCatStorer
+ [9]: https://issues.cloudera.org/browse/HUE-1409
+ [10]: http://groups.google.com/a/cloudera.org/group/hue-user

+ 154 - 0
docs/gethue/content/posts/2014-03-26-hadoop-tutoriel-comment-creer-des-tables-dexemple-dans-hbase.md

@@ -0,0 +1,154 @@
+---
+title: 'Hadoop Tutoriel: comment créer des tables d’exemple dans HBase'
+author: admin
+type: post
+date: 2014-03-26T06:49:41+00:00
+url: /hadoop-tutoriel-comment-creer-des-tables-dexemple-dans-hbase/
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_author_info:
+  - 1
+sf_social_sharing:
+  - 1
+sf_related_articles:
+  - 1
+sf_sidebar_config:
+  - right-sidebar
+sf_left_sidebar:
+  - Sidebar-1
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+
+
+---
+<p id="docs-internal-guid-7c74e5e3-7999-5a0b-77ef-ac77803cb105">
+  <a href="http://gethue.tumblr.com/post/55581863077/hue-2-5-and-its-hbase-app-is-out">Hue 2.5</a>&nbsp;est livr&eacute; avec une autre nouvelle application pour rendre Apache Hadoop plus facile &agrave; utiliser: HBase Browser pour&nbsp;<a href="http://hbase.apache.org/">Apache HBase</a>,&nbsp;la principale base de donn&eacute;es cl&eacute;/valeur pour Hadoop.&nbsp;Cet article est le premier &eacute;pisode d'une s&eacute;rie de 3 d&eacute;crivant la nouvelle exp&eacute;rience utilisateur apport&eacute;e par l'application.&nbsp;Nous allons commencer par vous d&eacute;crire comment cr&eacute;er des tables d'&eacute;chantillons avec diff&eacute;rents sch&eacute;mas de HBase.
+</p></p>
+
+# Tutoriel
+
+Lors de la construction du nouveau navigateur de HBase, nous avons voulu tester l'application sur diff&eacute;rentes tables de HBase.&nbsp;Il est difficile de trouver sur Internet un sch&eacute;ma et des donn&eacute;es pr&ecirc;t &agrave; utiliser.&nbsp;Par cons&eacute;quent, bas&eacute;&nbsp;sur les cas de utilisations les plus courantes, nous avons cr&eacute;&eacute; nos nos propres sch&eacute;mas de HBase et avons d&eacute;cid&eacute; de les partager afin d'aider tous ceux qui souhaitent commencer avec HBase.</p>
+
+Ce how-to d&eacute;crit comment cr&eacute;er une table tr&egrave;s simple qui compte le nombre de votes par candidat par jour.&nbsp;Ensuite, la partie 2 se concentre sur la cr&eacute;ation d'une table HBase avec beaucoup de colonnes et la partie 3 sur l'insertion et la visualisation de donn&eacute;es binaires.</p>
+
+{{< vimeo 71813732 >}}</p>
+
+# Configuration
+
+L'application Navigateur HBase est adapt&eacute;e pour la navigation rapidement sur d'&eacute;normes tables et pour acc&eacute;der &agrave; n'importe quel contenu.&nbsp;Vous pouvez &eacute;galement cr&eacute;er de nouvelles tables, ajouter des donn&eacute;es, modifier des cellules existantes et filtrer les donn&eacute;es avec la barre de recherche autocompletant.</p>
+
+La premi&egrave;re &eacute;tape consiste &agrave; installer HBase dans votre cluster Hadoop.&nbsp;Nous vous recommandons d'utiliser les&nbsp;[paquets][1]&nbsp;CDH&nbsp;.&nbsp;HBase navigateur n&eacute;cessite le&nbsp;[service Thrift 1][2]&nbsp;d&eacute;marr&eacute;.</p>
+
+Ensuite, prenez l'application &agrave; partir d'une [version][3]{.trackLink}&nbsp;de Hue ou avec la version du&nbsp;[pacquet][4]&nbsp;.&nbsp;CDH 4.4 (arrivant d&eacute;but Septembre) apportera une v1 stable.&nbsp;Apr&egrave;s l'installation, si le HBase master ne fonctionne pas sur le m&ecirc;me h&ocirc;te que Hue, il faut pointer l'application vers lui en mettant &agrave; jour le&nbsp;[hue.ini][5]&nbsp;et red&eacute;marrer Hue.</p>
+
+Ensuite, allez &agrave;&nbsp;[http://127.0.0.1:8888/hbase/&nbsp;][6]pour v&eacute;rifier que tout est correctement configur&eacute;!&nbsp;Nous montrons dans la vid&eacute;o comment cr&eacute;er une table et ajouter des colonnes en seulement quelques clics.&nbsp;Dans les &eacute;tapes suivantes, nous montrons comment cr&eacute;er et remplir un v&eacute;ritable exemple de table.</p>
+
+Les donn&eacute;es et les scripts exemples sont publi&eacute;s sur&nbsp;[github][7]&nbsp;.&nbsp;Dans un terminal, utiliser&nbsp;[git][8]&nbsp;pour r&eacute;cup&eacute;rer le d&eacute;p&ocirc;t:
+
+<pre class="code">cd / tmp
+git clone <a href="https://github.com/romainr/hadoop-tutorials-examples.git">https://github.com/romainr/hadoop-tutorials-examples.git</a>
+cd HBASE-tables
+</pre></p>
+
+# Table d'analyse
+
+Les objectifs de ces donn&eacute;es est de montrer la recherche et la disposition intelligente dans HBase Browser.</p>
+
+Cette table contient plus de 1000 colonnes de texte.&nbsp;L'id&eacute;e est d'avoir des compteurs pour 3 domaines Web de 3 pays pour chaque heure de la journ&eacute;e.&nbsp;Les donn&eacute;es sont ensuite agr&eacute;g&eacute;es par jour et pour tous les pays.
+
+<img alt="image" height="88px;" src="https://lh6.googleusercontent.com/6ETWVbvV06zSHbrDglMlqaMfJB-HMrHpJYF27xTFbbQB88jdKRSlVCIjkYl0EYRFFm31iCp-PN-7q7_cNBKQd_820Cqkv674V7e9MPV00N_T_nGm7jv2R_O8" width="800px;" />
+
+Sch&eacute;ma de la table</p>
+
+Comment faire pour cr&eacute;er la table HBase et ins&eacute;rer quelques donn&eacute;es:</p>
+
+  1. G&eacute;n&eacute;rer des noms de colonnes et des donn&eacute;es avec&nbsp;[create_schemas.py][9]&nbsp;.&nbsp;Lancez-le avec ./create_schemas.py
+
+  2. Uploader les donn&eacute;es date /tmp/hbase-analytics.tsv &agrave; HDFS avec l'explorateur de fichiers
+
+  3. Avec HBase Browser cr&eacute;er la table un "Analytics" avec 3 colonnes family "hour"', "day","total"
+
+  4. Charger les donn&eacute;es dans la table avec la&nbsp;[commande d'importation en vrac de HBase][10]&nbsp;.
+
+Ceci va d&eacute;clencher un job MapReduce et afficher la&nbsp;[progression][11]&nbsp;de l'importation.</p>
+
+C'est tout!&nbsp;Allez ouvrir la table d'analyse dans&nbsp;[le navigateur HBase][12]&nbsp;!</p>
+
+# Table binaire
+
+Cette seconde tableaux portent principalement sur les cellules de donn&eacute;es de grandes, de divers formats, ce qui d&eacute;montre la pr&eacute;visualisation et l'&eacute;dition de donn&eacute;es dans HBase Browser.</p>
+
+Nous utilisons l'API de l'application pour ins&eacute;rer dans HBase certaines cellules de diff&eacute;rents types de contenu, par exemple du texte, du JSON, des photos, du binaires ...</p>
+
+  1. D'abord cr&eacute;er une table &laquo;event&raquo; avec une colonne family 'doc'.
+
+  2. Puis cd dans le r&eacute;pertoire racine de Hue
+
+  3. cd /usr/share/hue
+
+  4. /opt/cloudera/parcels/CDH-4.X/share/hue&nbsp;(si vous utilisez les parcels)
+
+Et aller dans le shell build/env/bin/hue shell&nbsp;et lancer&nbsp;[locad_binary.py:][13]</p>
+
+Avec l'API HBase ins&eacute;rer des donn&eacute;es textuelles:</p>
+
+<pre class="code">from hbase.api import HbaseApi
+
+HbaseApi().putRow('Cluster', 'events', 'hue-20130801', {'doc:txt': 'Hue is awesome!'})
+HbaseApi().putRow('Cluster', 'events', 'hue-20130801', {'doc:json': '{"user": "hue", "coolness": "extra"}'})
+HbaseApi().putRow('Cluster', 'events', 'hue-20130802', {'doc:version': 'I like HBase'})
+HbaseApi().putRow('Cluster', 'events', 'hue-20130802', {'doc:version': 'I LOVE HBase'})
+</pre></p>
+
+Ensuite, ins&eacute;rer une image, et une page HTML et PDF:
+
+<pre class="code">root='/tmp/hadoop-tutorials-examples'
+
+HbaseApi().putRow('Cluster', 'events', 'hue-20130801', {'doc:img': open(root + '/hbase-tables/data/hue-logo.png', "rb").read()})
+HbaseApi().putRow('Cluster', 'events', 'hue-20130801', {'doc:html': open(root + '/hbase-tables/data/gethue.com.html', "rb").read()})
+HbaseApi().putRow('Cluster', 'events', 'hue-20130801', {'doc:pdf': open(root + '/hbase-tables/data/gethue.pdf', "rb").read()})
+</pre></p>
+
+Notez que les noms de colonnes ne comptent pas pour la d&eacute;tection de type.&nbsp;Allez voir la table "[events][14]" et jouer avec!</p>
+
+# Conclusion
+
+Ces deux sch&eacute;mas et de donn&eacute;es permettent &agrave; l'utilisateur de facilement d&eacute;marrer avec HBase.&nbsp;Cette premi&egrave;re version de HBase Browser apporte une nouvelle fa&ccedil;on d'explorer rapidement et rechercher des lignes et des colonnes.&nbsp;Les nouvelles versions supporteront des bulks loads afin de lib&eacute;rer compl&egrave;tement l'utilisateur de la ligne de commande.
+
+La nouvelle application de navigation de HBase sera d&eacute;mo-&eacute;e sur ces deux tableaux dans les prochains posts, alors restez branch&eacute;s!
+
+ [1]: http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Installation-Guide/cdh4ig_topic_20_2.html
+ [2]: http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Installation-Guide/cdh4ig_topic_20_5.html#topic_20_5_4_unique_1
+ [3]: https://cdn.gethue.com/downloads/releases/hbase/hue-hbase-2.5.0.tgz
+ [4]: http://nightly.cloudera.com/cdh4/
+ [5]: https://github.com/cloudera/hue/blob/master/desktop/conf.dist/hue.ini#L505
+ [6]: http://127.0.0.1:8888/hbase/
+ [7]: https://github.com/romainr/hadoop-tutorials-examples/tree/master/hbase-tables
+ [8]: http://git-scm.com/
+ [9]: https://raw.github.com/romainr/hadoop-tutorials-examples/master/hbase-tables/create_schemas.py
+ [10]: https://raw.github.com/romainr/hadoop-tutorials-examples/master/hbase-tables/load_data.sh
+ [11]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/hbase-tables/load_data.log
+ [12]: http://127.0.0.1:8888/hbase/#Cluster/analytics
+ [13]: https://github.com/romainr/hadoop-tutorials-examples/blob/master/hbase-tables/load_binary.py
+ [14]: http://127.0.0.1:8888/hbase/#Cluster/events

+ 91 - 0
docs/gethue/content/posts/2014-03-26-hue-2-5-et-son-hbase-application-est-sorti.md

@@ -0,0 +1,91 @@
+---
+title: Hue 2.5 et son HBase application est sorti!
+author: admin
+type: post
+date: 2014-03-26T06:51:47+00:00
+url: /hue-2-5-et-son-hbase-application-est-sorti/
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_author_info:
+  - 1
+sf_social_sharing:
+  - 1
+sf_related_articles:
+  - 1
+sf_sidebar_config:
+  - right-sidebar
+sf_left_sidebar:
+  - Sidebar-1
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+
+
+---
+### <span>Salut les devoreurs de p&eacute;taoctets!</span> {.subhead}
+
+<span id="docs-internal-guid-0768643e-1223-5a03-20cc-6cb512e36ff6">L'&eacute;quipe de Hue est heureuse de vous apporter Hue 2.5, disponible en&nbsp;</span>[archive][1]{.trackLink}&nbsp;ou comme un paquet avec&nbsp;[CDH nighlty][2].
+
+Hue 2.5 apporte une nouvelle application pour HBase et plus de 80 modifications.&nbsp;L'application HBase Browser est adapt&eacute;e pour la navigation rapidement d'&eacute;normes tables et pour acc&eacute;der &agrave; n'importe quel contenu.&nbsp;Vous pouvez &eacute;galement cr&eacute;er de nouvelles tables, ajouter des donn&eacute;es, modifier des cellules existantes et filtrer les donn&eacute;es avec la barre de recherche de compl&egrave;tement automatique.
+
+<p id="docs-internal-guid-0768643e-1223-7d5c-1b2c-0694b76a2d99">
+  Voici un r&eacute;sum&eacute; vid&eacute;o (en anglais) des nouvelles fonctionnalit&eacute;s:
+</p>
+
+{{< vimeo 70955652 >}}
+
+Corrections importantes:
+
+  *   * [HUE-1135][3]&nbsp;[pig] Options support
+
+      * [HUE-1115][4]&nbsp;[impala] Support multi db
+
+      * [HUE-641][5]&nbsp;[jb] Auto-refresh the Job Browser views
+
+      * [HUE-1150][6]&nbsp;[pig] Links to inputs/outputs/MR jobs
+
+      * [HUE-1256][7]&nbsp;[core] Cache the HA jt
+
+      * [HUE-1321][8]&nbsp;[oozie] Improved import workflow
+
+Veuillez voir les&nbsp;[notes de version][9]&nbsp;pour plus d'informations.
+
+Le site github a &eacute;galement &eacute;t&eacute; mis &agrave; jour avec des screenshots et une galerie vid&eacute;o:&nbsp;[http://gethue.com&nbsp;][10].
+
+&nbsp;
+
+<span id="docs-internal-guid-0768643e-1223-9198-1d84-c7ebd87794ae">Merci pour tous les&nbsp;</span>[bogues, suggestions et commentaires&nbsp;][11], et restez &agrave; l'&eacute;coute, une nouvelle s&eacute;rie de vid&eacute;os commence!
+
+L'&eacute;quipe de Hue</p>
+
+ [1]: https://cdn.gethue.com/downloads/releases/2.5.0/hue-2.5.0.tgz
+ [2]: http://nightly.cloudera.com/cdh4/
+ [3]: https://issues.cloudera.org/browse/HUE-1135
+ [4]: https://issues.cloudera.org/browse/HUE-1115
+ [5]: https://issues.cloudera.org/browse/HUE-641
+ [6]: https://issues.cloudera.org/browse/HUE-1150
+ [7]: https://issues.cloudera.org/browse/HUE-1256
+ [8]: https://issues.cloudera.org/browse/HUE-1321
+ [9]: http://cloudera.github.com/hue/docs-2.5.0/release-notes/release-notes-2.5.0.html
+ [10]: https://gethue.com/
+ [11]: http://groups.google.com/a/cloudera.org/group/hue-user

+ 89 - 0
docs/gethue/content/posts/2014-03-26-hue-3-5-et-sa-refonte-sont-arrives.md

@@ -0,0 +1,89 @@
+---
+title: Hue 3.5 et sa refonte sont arrivés!
+author: admin
+type: post
+date: 2014-03-26T07:20:12+00:00
+url: /hue-3-5-et-sa-refonte-sont-arrives/
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+
+
+---
+Salut Big Elephant Lovers,
+
+<span>L'équipe Hue est heureux de sortir Hue 3.5!</span>
+
+<span>Une </span>[archive][1]<span>  est disponible ainsi que </span>[la documentation][2]<span> et </span>[les notes de version][3]<span> .</span>
+
+![image][4]
+
+<span>Cette nouvelle version est livré avec de nombreuses améliorations (254!), Par exemple:</span>
+
+<div>
+  <ul>
+    <li>
+      <span>Le design de la barre de navigation a été redessiné</span>
+    </li>
+    <li>
+      Nouvelle application: <a href="http://gethue.tumblr.com/post/66661074125/dbquery-app-mysql-and-postgresql-query-editors">DBQuery Application, MySQL et PostgreSQL Query éditeurs</a>
+    </li>
+    <li>
+      <a href="http://gethue.tumblr.com/post/66351828212/new-search-feature-graphical-facets">Nouvelle fonctionnalité de recherche: facettes graphiques</a>
+    </li>
+    <li>
+      <a href="http://gethue.tumblr.com/post/66367939672/integrate-external-web-applications-in-any-language">Intégrer des applications Web externes dans n'importe quelle langue</a>
+    </li>
+    <li>
+      <a href="http://gethue.tumblr.com/post/68282571607/hadoop-tutorial-create-hive-tables-and-load-quoted-csv">Créer des tableaux de la ruche et charger des données CSV cité</a>
+    </li>
+    <li>
+      <a href="http://gethue.tumblr.com/post/68781982681/hadoop-tutorial-submit-any-oozie-jobs-directly-from">Envoyer des emplois oozie directement à partir de HDFS</a>
+    </li>
+    <li>
+      <a href="http://gethue.tumblr.com/post/62273866476/sso-with-hue-new-saml-backend">SSO avec Teinte: nouveau backend SAML</a>
+    </li>
+    <li>
+      <a href="http://gethue.tumblr.com/post/64916325309/hadoop-tutorial-hive-query-editor-with-hiveserver2-and">Éditeur ruche requête avec HiveServer2 et Sentry</a>
+    </li>
+  </ul>
+</div>
+
+<span><span>Hue 3.5 et plus seront disponibles en début d'année prochaine dans CDH5beta2. </span><span>Si vous vous sentez aventureux télécharger l'</span></span>[archive][1]<span> !</span>
+
+Merci pour tous les [ bogues, suggestions et la rétroaction][5]<span>  et les messages sur </span>[@ gethue][6]<span><span> ! </span><span>Nous n'avons jamais vu une telle activité!</span></span>
+
+ [1]: https://cdn.gethue.com/downloads/releases/3.5.0/hue-3.5.0.tgz
+ [2]: http://cloudera.github.io/hue/docs-3.5.0/index.html
+ [3]: http://cloudera.github.io/hue/docs-3.5.0/release-notes/release-notes-3.5.0.html
+ [4]: https://dl.dropboxusercontent.com/u/19819437/hue-3.5.png
+ [5]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [6]: https://twitter.com/gethue

+ 100 - 0
docs/gethue/content/posts/2014-03-26-lediteur-de-requete-impala.md

@@ -0,0 +1,100 @@
+---
+title: L’éditeur de requête Impala
+author: admin
+type: post
+date: 2014-03-26T06:47:28+00:00
+url: /lediteur-de-requete-impala/
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_author_info:
+  - 1
+sf_social_sharing:
+  - 1
+sf_related_articles:
+  - 1
+sf_sidebar_config:
+  - right-sidebar
+sf_left_sidebar:
+  - Sidebar-1
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+
+
+---
+Dans les &eacute;pisodes pr&eacute;c&eacute;dents, nous avons pr&eacute;sent&eacute; comment planifier des workflows avec les&nbsp;[coordonnateurs de Oozie][1].&nbsp;Voyons maintenant &nbsp;un moyen rapide pour interroger des donn&eacute;es avec Impala.
+
+<p id="docs-internal-guid-40e7f13f-6181-fb3b-54b1-99253b9abffe">
+  Hue,&nbsp;marche avec&nbsp;<a href="https://github.com/cloudera/impala">Impala</a>&nbsp;depuis sa premi&egrave;re version et apporte des requ&ecirc;tes interactives rapides au sein de votre navigateur.&nbsp;Si vous n'etes pas familier avec&nbsp;<a href="http://blog.cloudera.com/blog/2012/10/cloudera-impala-real-time-queries-in-apache-hadoop-for-real/">Impala</a>&nbsp;, nous vous conseillons de jete un oeil a la documentation du plus rapide&nbsp;<a href="http://www.cloudera.com/content/support/en/documentation/cloudera-impala/cloudera-impala-documentation-v1-latest.html">moteur SQL</a>&nbsp;pour Hadoop.
+</p>
+
+# Impala App
+
+La plupart du SQL de Hive est compatible avec Impala et nous allons comparer les requ&ecirc;tes d'[un &eacute;pisode][2]&nbsp;precedent avec les applications Impala et Hive.&nbsp;Notez que cette comparaison n'est pas 100% scientifique, mais elle montre ce qui se passerait en pratique.</p>
+
+{{< vimeo 75493693 >}}
+
+Utiliser Impala &agrave; travers l'application de Hue est plus facile &agrave; bien des &eacute;gards que de l'utiliser &agrave; travers la ligne de commande du impala-shell.&nbsp;Par exemple, les noms de tables, bases de donn&eacute;es, des colonnes, des fonctions int&eacute;gr&eacute;es sont auto-completable et la coloration syntaxique montre les fautes de frappe potentielles dans vos requ&ecirc;tes.&nbsp;Plusieurs requ&ecirc;tes ou une partie s&eacute;lectionn&eacute;e d'une requ&ecirc;te peut &ecirc;tre ex&eacute;cut&eacute;e &agrave; partir de l'&eacute;diteur.&nbsp;Les requ&ecirc;tes param&eacute;tr&eacute;es sont pris en charge et l'utilisateur sera invit&eacute; a saisir des valeurs au moment de la soumission.&nbsp;Les requ&ecirc;tes Impala peuvent &ecirc;tre sauvegard&eacute;s et partag&eacute;s entre les utilisateurs ou supprim&eacute;es, puis restaur&eacute;es &agrave; partir de d&eacute;chets en cas d'erreurs.</p>
+
+Impala utilise le m&ecirc;me Metastore de Hive afin que vous puissiez parcourir les tables avec le&nbsp;[Metastore Browser][3]&nbsp;.&nbsp;Vous pouvez &eacute;galement choisir une base de donn&eacute;es avec une liste d&eacute;roulante dans l'&eacute;diteur.&nbsp;Apr&egrave;s la pr&eacute;sentation, les progr&egrave;s et les journaux sont signal&eacute;s et vous pouvez naviguer sur le r&eacute;sultat avec d&eacute;filement infini ou t&eacute;l&eacute;charger les donn&eacute;es depuis votre navigateur.
+
+# Comparaison de vitesse
+
+Commen&ccedil;ons par les exemples de Hue car ils sont facilement accessibles.&nbsp;Ils sont tr&egrave;s petits mais montrent la vitesse de l'&eacute;clair d'Impala et l'inefficacit&eacute; de la s&eacute;rie de MapReduces cr&eacute;&eacute;s par Hive.
+
+Assurez-vous que les exemples Hive et Impala soient install&eacute;s dans Hue puis dans chaque application, allez dans &laquo;&nbsp;Requ&ecirc;tes enregistr&eacute;es&nbsp;&raquo;, copier la requ&ecirc;te 'Sample: Top salaries &raquo; et soumettez la.
+
+Ensuite, nous revenons &agrave; nos donn&eacute;es de Yelp.&nbsp;Prenons la requ&ecirc;te de&nbsp;[l'&eacute;pisode un][2]&nbsp;et ex&eacute;cuter la dans les deux applications:
+
+<pre class="code">SELECT r.business_id, nom, SUM (froid) AS fra&icirc;cheur
+de l'examen r JOIN affaires b
+ON (r.business_id = b.business_id)
+lorsque des cat&eacute;gories like '%% Restaurants &raquo;
+ET `date` = '$ Date'
+GROUP BY r. business_id, nom
+ORDER BY fra&icirc;cheur DESC
+LIMIT 10
+</pre>
+
+&nbsp;
+
+Encore une fois, vous pouvez voir les avantages de l'Impala grace a&nbsp;[son l'architecture et optimisation][4]&nbsp;.
+
+&nbsp;
+
+# Conclusion
+
+Ce message d&eacute;crit comment Impala permet une analyse de donn&eacute;es interactive et plus productif que le batch de Hive. Les r&eacute;sultats reviennent vite, et dans notre cas de donn&eacute;es de Yelp, instantan&eacute;ment.&nbsp;Impala et Hue combin&eacute;s sont une recette pour l'analyse rapide avec Hadoop.&nbsp;En outre, l'[API Python][5]&nbsp;de Hue&nbsp;peut aussi &ecirc;tre r&eacute;utilis&eacute;e si vous voulez construire votre propre client.</p>
+
+La&nbsp;[VM de d&eacute;mo de Cloudera][6]&nbsp;avec ses tutoriels Hadoop est une excellente fa&ccedil;on de commencer avec Impala et Hue.&nbsp;Un prochain blog post d&eacute;crira comment utiliser les formats de fichiers les plus efficaces dans l'Impala.</p>
+
+Comme d'habitude, n'h&eacute;sitez pas &agrave; commenter sur la&nbsp;[mailing list][7]&nbsp;ou sur la Twiter&nbsp;[@gethue][8]!
+
+ [1]: http://gethue.tumblr.com/post/61597968730/hadoop-tutorials-ii-3-schedule-hive-queries-with
+ [2]: http://gethue.tumblr.com/post/60376973455/hadoop-tutorials-ii-1-prepare-the-data-for-analysis
+ [3]: http://gethue.tumblr.com/post/56804308712/hadoop-tutorial-how-to-access-hive-in-pig-with
+ [4]: http://www.cloudera.com/content/cloudera-content/cloudera-docs/Impala/latest/Installing-and-Using-Impala/ciiu_concepts.html
+ [5]: http://gethue.tumblr.com/post/49882746559/tutorial-executing-hive-or-impala-queries-with-python
+ [6]: https://ccp.cloudera.com/display/SUPPORT/Cloudera+QuickStart+VM
+ [7]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [8]: https://twitter.com/gethue

+ 152 - 0
docs/gethue/content/posts/2014-03-26-linterface-utilisateur-web-pour-hbase-hbase-browser.md

@@ -0,0 +1,152 @@
+---
+title: 'L’interface utilisateur Web pour HBase: HBase Browser'
+author: admin
+type: post
+date: 2014-03-26T06:48:30+00:00
+url: /linterface-utilisateur-web-pour-hbase-hbase-browser/
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_author_info:
+  - 1
+sf_social_sharing:
+  - 1
+sf_related_articles:
+  - 1
+sf_sidebar_config:
+  - right-sidebar
+sf_left_sidebar:
+  - Sidebar-1
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+
+
+---
+Dans ce post, nous allons jeter un oeil &agrave; la nouvelle application de navigation de HBase ajout&eacute; &agrave; Hue 2.5 et consid&eacute;rablement am&eacute;lior&eacute;e depuis.&nbsp;<span>Pour obtenir Hue navigateur HBase, t</span><span>&eacute;l</span><span>&eacute;charger</span><span>&nbsp;Hue</span><span>&nbsp;</span>[nightly.cloudera.com/cdh4][1]<span>&nbsp;</span><span>ou construisez le directement &agrave; partir de github:&nbsp;</span><https://github.com/cloudera/hue><span>.</span>
+
+Pr&eacute;-requis avant de commencer:
+
+1.&nbsp;Avoir Hue construit ou install&eacute;
+
+2.&nbsp;Avoir HBase et Thrift service 1 lanc&eacute; (Thrift peut &ecirc;tre configur&eacute; &agrave; travers Cloudera Manager ou&nbsp;<a href="http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Installation-Guide/cdh4ig_topic_20_5.html#topic_20_5_4_unique_1" target="_blank" rel="noopener noreferrer">manuellement</a>)
+
+3.&nbsp;Configurez votre liste de clusters HBase dans&nbsp;<a href="https://github.com/cloudera/hue/blob/master/desktop/conf.dist/hue.ini#L467" target="_blank" rel="noopener noreferrer">hue.ini</a>&nbsp;pour pointer vers le Port/ IP de&nbsp;<span>Thrift</span>
+
+Dans cette vid&eacute;o, nous d<span>&eacute;monstons</span><span>&nbsp;deux principales caract&eacute;ristiques de cette application. Let's go!</span></p>
+
+{{< vimeo 72357888 >}}</p>
+
+## SmartView
+
+Le SmartView est la vue principale.&nbsp;<span>Sur le c&ocirc;t&eacute; gauche se trouvent les row keys et au-dessus des rows une liste de contr&ocirc;les apparait sur la droite.&nbsp;Cliquez sur une ligne pour la s&eacute;lectionner, et une fois s&eacute;lectionn&eacute;, vous pouvez effectuer des op&eacute;rations de traitement par lots, des tris de colonne, ou faire n'importe quelle quantit&eacute; d'op&eacute;rations de base de donn&eacute;es standard.&nbsp;Pour explorer une rang&eacute;e, simplement d&eacute;filer vers la droite. La ligne et ses cellules est charg</span><span>&eacute;e dynamiquement</span><span>&nbsp;jusqu'&agrave; la fin afin d'etre permformante.</span>
+
+&nbsp;
+
+### Ajout de donn&eacute;es
+
+Pour remplir initialement une table, vous pouvez ins&eacute;rer une nouvelle ligne ou faire transfert group&eacute; CSV / TSV / etc. ou entrer des donn&eacute;es dans directement dans votre table.
+
+<img alt="image" height="191px;" src="https://lh4.googleusercontent.com/rSmhp0hTq4xtod8SsoIn1A8tp7omHB46j0xtpnmtOQAHzn1PHw1C0rN7Yq8CBq0WOeSh_GVfFWB1P0mKsGGWIpAnGr-mxxJRIR3uW4exevkS5_mKBG0xIbJW" width="441px;" />
+
+Sur le c&ocirc;t&eacute; droit de suite est un signe &laquo;+&raquo; qui vous permet d'ins&eacute;rer des colonnes dans votre ligne.<img alt="image" height="68px;" src="https://lh3.googleusercontent.com/2ag5vH82l_6FyCmlBHnQUYCQ8qxsKVQTRoBU_l8oSErvO_4FWKyTyAP5MaZejkLNOy2SQVSNjo47Kq_c2pQB1t67nFB24npZVmONUf3MVivNly7HJutVS7rM" width="800px;" /><img alt="image" height="309px;" src="https://lh4.googleusercontent.com/3aMhyC8qDYdNf98Ge8qbD2EPXzCiL62lCWxHpzhfiYfZPj1F-nAgu3IhbuDYQpTVz1OCqaMDC1WDZ617YfiTsZDafbhHjXufv_f9yyXJbk95fMLNlywLZkHS" width="616px;" /></p>
+
+### Mutation des donn&eacute;es
+
+Pour modifier une cellule, il suffit de cliquer pour modifier directement dans la cellule:
+
+<img alt="image" height="177px;" src="https://lh4.googleusercontent.com/ADTmywVLvEGPordZoEdsOIFkzCWlgc6lG6hrQdtAzT74nHgXqmyto4tPEqqrNmwk0pu709EnP_VIPAgvFPhlPT7NYSDj4LCbApRmw1z-mPyad2jMehWXiZAb" width="290px;" />
+
+Si vous avez besoin de plus de contr&ocirc;le ou de donn&eacute;es relatives &agrave; votre cellule, cliquez sur "Full Editor".
+
+<img alt="image" height="639px;" src="https://lh4.googleusercontent.com/irYJEB6muPCT5Oj3x-LJvMZIhSskXJhIJUsnYL00VpaoYKNTI8NnL09WsmzkxuryFWQpETnUb6EfRkT3ZrrTu7-yAXRDmDCG940Ssh-wbJhaGYt3Sj4txn4T" width="620px;" />
+
+Dans l'&eacute;diteur complet, vous pouvez consulter l'historique des cellules ou t&eacute;l&eacute;charger les donn&eacute;es binaires dans la cellule.&nbsp;Les donn&eacute;es binaires de certains types MIME sont d&eacute;tect&eacute;s, ce qui signifie que vous pouvez visualiser et &eacute;diter des images, des fichiers PDF, JSON, XML et d'autres types directement dans votre navigateur!
+
+<img alt="image" height="371px;" src="https://lh5.googleusercontent.com/N5MqnAhIPQ5D7KSU-ulHTLS0mGFZqC22ciwKGeWhntzpYx4bvqCSvcTc3xCYfCCP6HuxNTr7FlEVMowbSIJ_1nOt36wOXzNpvC-Bhy3gRXve4rIS-Ei6t_By" width="635px;" />
+
+&nbsp;
+
+Planant au-dessus d'une cellule r&eacute;v&egrave;le &eacute;galement certains autres contr&ocirc;les (tels que le bouton de suppression ou l'horodatage).&nbsp;Cliquez sur le titre pour s&eacute;lectionner quelques et effectuer des op&eacute;rations de traitement par lots:
+
+<img alt="image" height="153px;" src="https://lh3.googleusercontent.com/ECcsG6M0zGESG4vuHO8KvgsxrGPbZ5cEhbFxjq2uPhgKzUS-8eTaPq3W2P-rSm13fLxEnEMJY1yFJ8pb2IBmy2KwhGgdFjqQUOTQhQV0sWsxnPFPxpjvoe3T" width="497px;" />
+
+Si vous avez besoin de quelques exemples de donn&eacute;es pour d&eacute;marrer et explorer, consultez ce tutoriel: <a href="http://gethue.tumblr.com/post/58181985680/hadoop-tutorial-how-to-create-example-tables-in-hbase" target="_blank" rel="noopener noreferrer">cr</a><span>&eacute;</span><a href="http://gethue.tumblr.com/post/58181985680/hadoop-tutorial-how-to-create-example-tables-in-hbase" target="_blank" rel="noopener noreferrer">er des tables dans HBase</a><span>.</span></p>
+
+### Barre de Recherche intelligente
+
+Le "Barre de Recherche intelligente" est un outil sophistiqu&eacute; qui vous aide dans votre recherche de donn&eacute;es.&nbsp;La barre prend en charge un certain nombre d'op&eacute;rations.&nbsp;Les plus &eacute;l&eacute;mentaires comprennent la recherche et filtrer des colonnes.&nbsp;Ici, je suis s&eacute;lectionne deux lignes avec:
+
+<pre class="code">domain.100, domain.200</pre>
+
+<img alt="image" height="339px;" src="https://lh4.googleusercontent.com/2swltMjM0iwMfsN5oL4CAGJvg_2ZEow_swIfUbUqfugC6WfwY7zSlCBeejTTH9u7ixy5w01KKJv4YEoh3ipGTQQrm0PZGgRxXyuqlD4XKS39w3NMVxSHGrx5" width="705px;" />
+
+Apres avoir soumis une requ&ecirc;te, les deux lignes que je cherchais apparaissent.&nbsp;Si je veux r&eacute;cup&eacute;rer les lignes apr&egrave;s l'un d'eux, je dois faire un scan.&nbsp;C'est aussi simple que d'&eacute;crire un &laquo;+&raquo; suivi par le nombre de lignes que vous souhaitez chercher.&nbsp;En tapant:
+
+<pre class="code">domain.100, domain.200 +5</pre>
+
+HBase Browser &eacute;cup&egrave;re domain.100 et domain.200 suivi des 5 prochaines lignes.&nbsp;Si jamais vous &ecirc;tes confus au sujet de vos r&eacute;sultats, vous pouvez regarder en bas et la barre de requ&ecirc;te et aussi cliquer pour modifier votre requ&ecirc;te.
+
+Le Smart Search prend &eacute;galement en charge le filtrage de colonne.&nbsp;Sur chaque ligne, je peux sp&eacute;cifier les colonnes ou les familles sp&eacute;cifiques que je veux r&eacute;cup&eacute;rer.&nbsp;Avec:
+
+<pre class="code">domain.100 [column_family:]&nbsp;&nbsp;&nbsp;</pre>
+
+Je peux choisir une famille unique, ou des colonnes de diff&eacute;rentes familles comme ceci:
+
+<pre class="code">domain.100 [family1:, family2:, famille3: column_a]</pre>
+
+Faire cela va limiter mes r&eacute;sultats les colonnes sp&eacute;cifi&eacute;es.&nbsp;Si vous souhaitez restreindre les familles de colonnes seulement, le m&ecirc;me effet peut &ecirc;tre obtenu avec les filtres sur le droit.&nbsp;Il suffit de cliquer pour activer un filtre. &nbsp;
+
+Enfin, nous allons essayer certains filtres de colonne plus complexes.&nbsp;Je peux interroger des colonnes:
+
+<pre class="code">domain.100 [column_a]</pre>
+
+Cela va multiplier ma requ&ecirc;te sur toutes les familles de la colonne.&nbsp;Je peux aussi faire des pr&eacute;fixes et des scans:
+
+<pre class="code">&nbsp;&nbsp;&nbsp; domain.100 [famille: pr&eacute;fixe * +3]</pre>
+
+Cela va me chercher toutes les colonnes qui commencent par le pr&eacute;fixe * dans la limite de 3 r&eacute;sultats.&nbsp;Enfin, je peux filtrer sur une plage:
+
+<pre class="code">domain.100 [famille: column1 &agrave; column100]</pre>
+
+Cela va me chercher toutes les colonnes de la &laquo;famille:&laquo; qui sont lexicographique> = column1 mais <= column100.&nbsp;La premi&egrave;re colonne ("column1") doit &ecirc;tre une colonne valide, mais la second peut juste &ecirc;tre une ligne de texte pour la comparaison.
+
+Le Smart Search prend &eacute;galement en charge le filtrage sur les lignes pr&eacute;fix<span>&eacute;</span><span>es.&nbsp;Pour s&eacute;lectionner une ligne pr&eacute;fix&eacute;e, il suffit de taper la cl&eacute; de la ligne suivie par une &eacute;toile *.&nbsp;Le pr&eacute;fixe doit &ecirc;tre soulign&eacute; comme n'importe quel autre mot cl&eacute; searchbar.&nbsp;Une analyse de pr&eacute;fixe est effectu&eacute;e exactement comme un scan r&eacute;gulier, mais avec une rang&eacute;e pr&eacute;fix&eacute;e.</span></p>
+
+<pre class="code">domain.10 * +10</pre>
+
+Enfin, comme une nouvelle fonctionnalit&eacute;, vous pouvez &eacute;galement profiter pleinement du&nbsp;[filtrage HBase][2], en tapant votre cha&icirc;ne de filtre entre accolades.&nbsp;HBase Browser autocompletes vos filtres pour vous afin que vous n'avez pas &agrave; regarder vers le haut &agrave; chaque fois.&nbsp;Vous pouvez appliquer des filtres &agrave; des lignes ou des scans.
+
+<pre class="code">domain.1000 {ColumnPrefixFilter ('100-') ET ColumnCountGetFilter (3)}</pre>
+
+Ce poste ne couvre que quelques fonctions de base de la Smart Search.&nbsp;Vous pouvez profiter du langage d'interrogation en se r&eacute;f&eacute;rant au menu d'aide lors de l'utilisation de l'application.&nbsp;Il s'agit notamment de pr&eacute;fixe de colonne, colonnes, plage de colonnes, etc. Rappelez-vous que si vous avez besoin d'aide avec la barre de recherche, vous pouvez utiliser le menu d'aide qui s'affiche lors de la frappe, qui proposera des prochaines &eacute;tapes pour compl&eacute;ter votre requ&ecirc;te.</p>
+
+## Et voila!
+
+N'h&eacute;sitez pas &agrave; essayer l'application &agrave;&nbsp;[gethue.com][3].&nbsp;Faites-nous savoir ce que vous pensez sur le&nbsp;[groupe d'utilisateurs de Hue][4]&nbsp;!
+
+Les futures fonctionnalit&eacute;s pr<span>&eacute;vues sont</span><span>:&nbsp;</span><span>support de&nbsp;</span><span>Thrift 2, la s&eacute;curit&eacute; Kerberos et le chargement de donn&eacute;es group&eacute;es!</span>
+
+ [1]: http://nightly.cloudera.com/cdh4/
+ [2]: denied:about:blank
+ [3]: https://gethue.com/
+ [4]: https://groups.google.com/a/cloudera.org/forum/#!forum/hue-user

+ 103 - 0
docs/gethue/content/posts/2014-03-26-nouvelle-application-zookeeper-browser.md

@@ -0,0 +1,103 @@
+---
+title: 'Nouvelle application: ZooKeeper Browser!'
+author: admin
+type: post
+date: 2014-03-26T06:44:27+00:00
+url: /nouvelle-application-zookeeper-browser/
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_author_info:
+  - 1
+sf_social_sharing:
+  - 1
+sf_related_articles:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-1
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+
+
+---
+<p id="docs-internal-guid-63af2251-71ae-f7cf-e3d8-973b2294f38b">
+  Bonjour les amoureux des animaux, dans <a href="http://gethue.tumblr.com/post/62087732649/hue-3-and-the-new-sqoop-and-zookeeper-apps-are-out">Hue 3</a> , une nouvelle amélioration a été ajoutée afin de rendre <a href="http://zookeeper.apache.org/">Apache Zookeeper</a> plus facile à utiliser: ZooKeeper Browser.
+</p>
+
+L'application n'est pas totalement nouvelle: il s'agit de l'upgrade de Hue 1 à Hue 3 de l' [interface utilisateur ZooKeeper][1] faite par Andrei lors de son Google Summer of Code, il ya 3 ans.
+
+{{< vimeo 79795356 >}}
+
+Les deux principales caractéristiques sont:
+
+  * Annonce des stats et des clients du cluster ZooKeeper
+  * Navigation et l'édition de la hiérarchie des ZNode
+
+ZooKeeper Browser nécessite la [ZooKeeper REST][2] service. Voici comment le configurer:
+
+D'abord obtenir et construire ZooKeeper:
+
+<pre class="code">git clone <a href="https://github.com/apache/zookeeper">https://github.com/apache/zookeeper</a>
+cd zookeeper
+fourmis
+BuildFile: / home / teinte / développement / soigneur / build.xml
+
+initialisation:
+    [mkdir] Created dir: / home / teinte / développement / zookeeper / construire / classes
+    [mkdir] dir Crée: / home / teinte / développement / soigneur / build / lib
+    [mkdir] Crée dir: / home / teinte / développement / soigneur / build / paquet / lib
+    [mkdir] Crée dir: / home / teinte / développement / soigneur / build / test / lib
+
+...</pre>
+
+Puis démarrer le service REST:
+
+<pre class="code">cd src / contrib / reste
+nohup ant run &</pre>
+
+Si ZooKeeper et le service REST ne sont pas sur la même machine que Hue, mettre à jour les [paramètres Hue][3] et spécifier les noms d'hôte et les ports corrects:
+
+<pre class="code">[Soigneur]
+
+  [[groupes]]
+
+    [[[par défaut]]]
+      # ensemble de Zookeeper. Comma liste de Host / Port séparé.
+      # par exemple localhost: 2181, localhost: 2182, localhost: 2183
+      # # host_ports = localhost: 2181
+
+      # L'URL du service REST contrib
+      # # rest_url = http://localhost:9998</pre>
+
+Et voilà, openez [Navigateur ZooKeeper][4] !
+
+Comme d'habitude n'hésitez pas à commenter sur le [groupe de message][5] ou sur [@gethue][6] !
+
+ [1]: https://github.com/andreisavu/hue/tree/zookeeper-browser/
+ [2]: https://github.com/apache/zookeeper/tree/trunk/src/contrib/rest
+ [3]: https://github.com/cloudera/hue/blob/master/desktop/conf.dist/hue.ini#L591
+ [4]: http://127.0.0.1:8888/zookeeper/
+ [5]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [6]: http://twitter.com/gethue

+ 50 - 0
docs/gethue/content/posts/2014-04-01-hadoop-tutorial-hadoop-voice-recognition.md

@@ -0,0 +1,50 @@
+---
+title: 'Hadoop Voice Recognition: use your voice to use Hadoop!'
+author: admin
+type: post
+date: 2014-04-01T16:51:00+00:00
+url: /hadoop-tutorial-hadoop-voice-recognition/
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_author_info:
+  - 1
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+sf_remove_promo_bar:
+  - 1
+slide_template:
+  - default
+categories:
+
+---
+In Hue 3.6 (patch 0401) we have introduced a new amazing feature: Hadoop Voice Recognition!
+
+We have implemented the latest NLP features in it so you can naturally speak to Hue and it will try to understand what to do.
+
+Current support includes smart Hive and Impala queries, HDFS commands (list, move, copy, show content, upload), Pig dictation and Oozie reporting and submission. Search is coming up soon!
+
+<iframe src="https://player.vimeo.com/video/90633224?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop Tutorial: Hadoop Voice Recognition (NLP) in Hue" allow="autoplay; fullscreen" allowfullscreen></iframe>

+ 188 - 0
docs/gethue/content/posts/2014-04-02-hadoop-tutorial-oozie-workflow-credentials-with-a-hive-action-with-kerberos.md

@@ -0,0 +1,188 @@
+---
+title: Oozie workflow credentials with a Hive action with Kerberos
+author: admin
+type: post
+date: 2014-04-02T20:21:11+00:00
+url: /hadoop-tutorial-oozie-workflow-credentials-with-a-hive-action-with-kerberos/
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Scheduling
+
+---
+When using Hadoop security and scheduling jobs using [Hive][1] (or Pig, [HBase][2]) you might have received this error:
+
+{{< highlight bash >}}
+
+Caused by: MetaException(message:Could not connect to meta store using any of the URIs provided. Most recent failure: org.apache.thrift.transport.TTransportException: GSS initiate failed
+
+{{< /highlight >}}
+
+Indeed, in order to use an Oozie Hive action with the Hive metastore server when Kerberos is enabled, you need to use HCatalog credentials in your workflow.
+
+Here is a demo, with a kerberized cluster and a MySql Hive metastore showing how it works. We create a Hive script that will list the tables and performs an operation requiring the HCat credential. Please find all the used and generated configurations [here][3].
+
+<iframe src="https://player.vimeo.com/video/85838380?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop Tutorial: Oozie workflow credentials with a Hive action with Kerberos" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+Hue fills up automatically the parameters for you, just check the credentials required on your workflow action and Hue will:
+
+  * Pull dynamically the available credentials details from the cluster
+  * Configure the credentials in workflows for you
+
+Then don’t forget to check the HCat credential in the Hive action advanced properties. You can check multiple credentials if you ever need to.
+
+And that’s it! Submit the workflow and check its output, you will see the list of tables and the result of the computation of the second query!
+
+As usual feel free to comment on the [hue-user][4] list or [@gethue][5]!
+
+**Note**:
+
+Hive should not access directly the metastore database via JDBC, or it will bypass the protection.
+
+Include a <span style="color: #ff0000;">hive-config.xml</span> in the Job XML property of the Hive action with this type of configuration:
+
+{{< highlight xml >}}
+
+<property>
+
+<name>javax.jdo.option.ConnectionURL</name>
+
+<value>jdbc:mysql://hue.com:3306/hive1?useUnicode=true&characterEncoding=UTF-8</value>
+
+</property>
+
+<property>
+
+<name>javax.jdo.option.ConnectionDriverName</name>
+
+<value>com.mysql.jdbc.Driver</value>
+
+</property>
+
+<property>
+
+<name>javax.jdo.option.ConnectionUserName</name>
+
+<value>hive1</value>
+
+</property>
+
+<property>
+
+<name>javax.jdo.option.ConnectionPassword</name>
+
+<value>hive1</value>
+
+</property>
+
+{{< /highlight >}}
+
+Use this one:
+
+{{< highlight xml >}}
+
+<property>
+
+<name>hive.metastore.local</name>
+
+<value>false</value>
+
+</property>
+
+<property>
+
+<name>hive.metastore.uris</name>
+
+<value>thrift://hue.com:9083</value>
+
+</property>
+
+<property>
+
+<name>hive.metastore.sasl.enabled</name>
+
+<value>true</value>
+
+</property>
+
+{{< /highlight >}}
+
+**Note**:
+
+When the job will try to connect to MySql, you might hit this missing jar problem:
+
+{{< highlight bash >}}
+
+Caused by: org.datanucleus.store.rdbms.datasource.DatastoreDriverNotFoundException: The specified datastore driver ("com.mysql.jdbc.Driver") was not found in the CLASSPATH. Please check your CLASSPATH specification, and the name of the driver.
+
+<pre>{{< /highlight >}}
+
+To solve it, simply download the MySql jar connector from http://dev.mysql.com/downloads/connector/j/, and have HiveServer2 points to it with:
+
+{{< highlight xml >}}
+
+<property>
+
+<name>hive.aux.jars.path</name>
+
+<value>file:///usr/share/java//mysql-connector-java.jar</value>
+
+</property>
+
+{{< /highlight >}}
+
+**Note**:
+
+To activate the credentials in Oozie itself, update this property in oozie-site.xml
+
+{{< highlight xml >}}
+
+<property>
+
+ <name>oozie.credentials.credentialclasses</name>
+
+ <value>
+
+   hcat=org.apache.oozie.action.hadoop.HCatCredentials,
+
+   hbase=org.apache.oozie.action.hadoop.HbaseCredentials
+
+ </value>
+
+</property>
+
+{{< /highlight >}}
+
+ [1]: https://gethue.com/hadoop-tutorial-how-to-access-hive-in-pig-with/
+ [2]: https://gethue.com/hadoop-tutorial-use-pig-and-hive-with-hbase/
+ [3]: https://github.com/romainr/hadoop-tutorials-examples/tree/master/oozie/credentials
+ [4]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [5]: https://twitter.com/gethue

+ 163 - 0
docs/gethue/content/posts/2014-04-03-hadoop-tutorial-monitor-and-get-alerts-for-your-workflows-with-the-oozie-slas.md

@@ -0,0 +1,163 @@
+---
+title: Monitor and get alerts for your workflows with the Oozie SLAs
+author: admin
+type: post
+date: 2014-04-03T20:40:11+00:00
+url: /hadoop-tutorial-monitor-and-get-alerts-for-your-workflows-with-the-oozie-slas/
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Scheduling
+
+---
+<p id="docs-internal-guid-99e4a41b-294c-1afb-46e2-ab6223f97bad" dir="ltr">
+  Hue now makes <a href="http://oozie.apache.org/docs/4.0.0/DG_SLAMonitoring.html">Oozie SLAs</a> easy to use! With SLAs, you can automatically be alerted when some workflows are not done within a certain window of time. Oozie SLAs have been improved a lot in Oozie 4, hence this new feature requires Oozie 4.x.
+</p>
+
+<iframe src="https://player.vimeo.com/video/90898437?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop Tutorial: Oozie SLA - monitor and get alerts for your workflows" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+SLAs can be setup in the Editor in the advanced tabs of:
+
+<li dir="ltr">
+  <p dir="ltr">
+    Workflow properties
+  </p>
+</li>
+
+<li dir="ltr">
+  <p dir="ltr">
+    Workflow action properties
+  </p>
+</li>
+
+<li dir="ltr">
+  <p dir="ltr">
+    Coordinator properties
+  </p>
+</li>
+
+<p dir="ltr">
+  SLAs can be visualized In the Dashboard:
+</p>
+
+<li dir="ltr">
+  <p dir="ltr">
+    New main SLA tab for searching and graphing
+  </p>
+</li>
+
+<li dir="ltr">
+  <p dir="ltr">
+    Individual SLA tab for single workflow or coordinator
+  </p>
+</li>
+
+<p dir="ltr">
+  We do not cover <a href="http://oozie.apache.org/docs/4.0.0/AG_Install.html#Notifications_Configuration">setup of JMS notifications</a> here. <a href="http://oozie.apache.org/docs/4.0.0/DG_JMSNotifications.html">JMS</a> enables clients to be alerted in real time of the notifications (instead of pooling like in this tutorial). With Hue, you can visualize the success of your job in a timelime and setup email-notification in case of alerts.
+</p>
+
+<p dir="ltr">
+  As usual feel free to comment on the<a href="http://groups.google.com/a/cloudera.org/group/hue-user"> hue-user</a> list or<a href="https://twitter.com/gethue"> @gethue</a>!
+</p>
+
+<p dir="ltr">
+  <strong>Note</strong><br /> How to enable SLA in Oozie itself?
+</p>
+
+<p dir="ltr">
+  First make sure you are using Oozie 4. If you need to upgrade from Oozie 3, don’t forget to update the Oozie sharelib with:
+</p>
+
+{{< highlight bash >}}
+
+sudo -u oozie /usr/lib/oozie/bin/oozie-setup.sh sharelib create -fs hdfs://localhost:8020 -locallib /usr/lib/oozie/oozie-sharelib-yarn.tar.gz
+
+{{< /highlight >}}
+
+<p dir="ltr">
+  If for some reason you need to reset the Oozie DB, delete it and recreate it with:
+</p>
+
+{{< highlight bash >}}
+
+sudo -u oozie /usr/lib/oozie/bin/ooziedb.sh create -sqlfile oozie.sql -run
+
+{{< /highlight >}}
+
+<p dir="ltr">
+  <strong>Note</strong><br /> In order to avoid the exception below, you should not have the SLA properties in oozie-site.xml.
+</p>
+
+{{< highlight java >}}
+
+Exception in thread "main" java.lang.NoClassDefFoundError: javax/mail/MessagingException
+
+at java.lang.Class.forName0(Native Method)
+
+at java.lang.Class.forName(Class.java:270)
+
+{{< /highlight >}}
+
+<p dir="ltr">
+  Then open oozie-site.xml and add these <a href="http://oozie.apache.org/docs/4.0.0/AG_Install.html#Notifications_Configuration">properties</a> and restart Oozie:
+</p>
+
+{{< highlight xml >}}
+
+<property>
+
+<name>oozie.services.ext</name>
+
+<value>
+
+org.apache.oozie.service.EventHandlerService,
+
+org.apache.oozie.sla.service.SLAService
+
+</value>
+
+</property>
+
+<property>
+
+<name>oozie.service.EventHandlerService.event.listeners</name>
+
+<value>
+
+org.apache.oozie.sla.listener.SLAJobEventListener,
+
+org.apache.oozie.sla.listener.SLAEmailEventListener
+
+</value>
+
+</property>
+
+{{< /highlight >}}

+ 66 - 0
docs/gethue/content/posts/2014-04-04-hadoop-tutorial-new-impala-and-hive-editors.md

@@ -0,0 +1,66 @@
+---
+title: 'Interactive SQL on Hadoop is now easier: New Impala and Hive Editors'
+author: admin
+type: post
+date: 2014-04-04T19:06:35+00:00
+url: /hadoop-tutorial-new-impala-and-hive-editors/
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Administration
+  - Querying
+
+---
+<p dir="ltr" id="docs-internal-guid-10fc66ac-2e20-af75-4d45-3e31a62fe3d3">
+  The <a href="http://impala.io/">Impala</a> and <a href="https://gethue.com/hadoop-tutorial-hive-query-editor-with-hiveserver2-and/">Hive</a> applications have a new face! In addition to new features, their interfaces in Hue have been redesigned and re-implemented as single page apps.
+</p>
+
+<p dir="ltr">
+  Now:
+</p>
+
+  * Switching between pages is over
+  * Results are asynchronously fetched
+  * Results are graphed
+
+<p dir="ltr">
+  Moreover, the table metadata are now directly accessible from the navigator tab and a smarter auto-completion.
+</p>
+
+<p dir="ltr">
+  Here is a demo of a typical query execution:
+</p>
+
+<iframe src="https://player.vimeo.com/video/90961050?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop Tutorial: Interactive SQL on Hadoop made easier in Hue" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+<p dir="ltr">
+  As usual feel free to comment on the<a href="http://groups.google.com/a/cloudera.org/group/hue-user"> hue-user</a> list or<a href="https://twitter.com/gethue"> @gethue</a>!
+</p>

+ 55 - 0
docs/gethue/content/posts/2014-04-04-how-to-fix-map.md

@@ -0,0 +1,55 @@
+---
+title: How to fix the Map chart on Hue 3.5
+author: admin
+type: post
+date: 2014-04-04T14:39:16+00:00
+url: /how-to-fix-map/
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Querying
+  - Development
+
+---
+Hue 3.5 ships with <a href="https://issues.cloudera.org/browse/HUE-2063" target="_blank" rel="noopener noreferrer">a bug</a> in the Map Chart widget that prevents the users to correctly display the map in their browsers.
+
+Don't despair though! We've come up with a bookmarklet that solves the problem. Just drag this button
+
+<p style="text-align:center">
+  <a href="javascript:(function()%7Bfunction%20callback()%7B%7Dvar%20s%3Ddocument.createElement(%22script%22)%3Bs.src%3D%22https%3A%2F%2Fcdn.gethue.com%2Fuploads%2Fjs%2Ffixmap.js%22%3Bif(s.addEventListener)%7Bs.addEventListener(%22load%22%2Ccallback%2Cfalse)%7Delse%20if(s.readyState)%7Bs.onreadystatechange%3Dcallback%7Ddocument.body.appendChild(s)%3B%7D)()" class="sf-button accent" style="color:#FFF!important"><i class="fa fa-globe"></i> Fix the Hue Map!</a>
+</p>
+
+to your bookmarks bar. When you are on the Chart panel of the Hive or Impala app in Hue, click on the Map icon, select the latitude and longitude columns and then click on the newly created bookmarklet to fix the bug!
+
+As usual feel free to comment on the [hue-user][1] list or [@gethue][2]!
+
+ [1]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [2]: https://twitter.com/gethue

+ 80 - 0
docs/gethue/content/posts/2014-04-07-hadoop-tutorial-live-demo-hadoop-directly-from-your-browser.md

@@ -0,0 +1,80 @@
+---
+title: See how beautiful Hadoop can be, live demo Hadoop directly from your Browser!
+author: admin
+type: post
+date: 2014-04-07T20:12:20+00:00
+url: /hadoop-tutorial-live-demo-hadoop-directly-from-your-browser/
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Administration
+  - Browsing
+  - Querying
+
+---
+Hi Data Crunchers,
+
+<p dir="ltr" id="docs-internal-guid-0b543d30-3dd0-a4db-14a2-953276c7a38b">
+  <a href="http://demo.gethue.com">demo.gethue.com</a> offers a live demo of a complete Hadoop cluster (<a href="http://blog.cloudera.com/blog/2014/04/cloudera-enterprise-5-is-now-generally-available/">CDH5</a>)! No need to download a virtual machine or install any software, just <a href="http://demo.gethue.com">click</a> once!
+</p>
+
+<p dir="ltr">
+  The interface is based on <a href="http://gethue.com">Hue</a> and its pre-packaged sets of examples:
+</p>
+
+  * <a style="line-height: 1.5em;" href="http://demo.gethue.com/search">Search</a>
+  * [Impala SQL][1]
+  * [HBase][2]
+
+<p dir="ltr">
+  More is available, like <a href="http://demo.gethue.com/filebrowser">HDFS</a>, <a href="http://demo.gethue.com/beeswax/list_designs">Hive SQL</a> and <a href="http://demo.gethue.com/metastore">Hive Tables</a>, <a href="http://demo.gethue.com/oozie">Oozie</a>, <a href="http://demo.gethue.com/pig">Pig</a>, YARN <a href="http://demo.gethue.com/jobbrowser">MR2</a>, <a href="http://demo.gethue.com/sqoop2">Sqoop2</a>, Spark and ZooKeeper.
+</p>
+
+<p dir="ltr">
+  We are using <a href="http://aws.amazon.com/">AWS</a> for the hosting and <a href="http://www.cloudera.com/content/cloudera-content/cloudera-docs/CM5/latest/Cloudera-Manager-Installation-Guide/cm5ig_install_on_ec2.html#cmig_topic_8_1_unique_1">Cloudera Manager</a> to install the latest CDH5 release. We demo how we did it in the <a href="https://gethue.com/hadoop-tutorial-how-to-create-a-real-hadoop-cluster-in-10-minutes">Get your own Hadoop cluster in 10 minutes</a> post! Now you can reproduce it and get started with your real Hadoop cluster!
+</p>
+
+This is the first version of the live demo, more sophisticated examples are on the way!
+
+<p style="text-align: center;">
+  <a class="sf-button standard accent standard  dropshadow" style="color: #fff!important;" href="http://demo.gethue.com" target="_blank" rel="noopener noreferrer"><span class="text">Play with the Live Demo now!</span></a>
+</p>
+
+<p dir="ltr">
+  We hope that you will like it and you will see the potential of Hue and <a href="http://blog.cloudera.com/blog/2014/04/cloudera-enterprise-5-is-now-generally-available/">CDH5</a> in no time.
+</p>
+
+As usual feel free to comment on the [hue-user][3] list, [@gethue][4] or by clicking on the feedback label in the demo!
+
+ [1]: http://demo.gethue.com/impala
+ [2]: http://demo.gethue.com/hbase
+ [3]: http://groups.google.com/a/cloudera.org/group/hue-user
+ [4]: https://twitter.com/gethue

+ 52 - 0
docs/gethue/content/posts/2014-04-10-singapore-hadoop-meetup.md

@@ -0,0 +1,52 @@
+---
+title: Singapore Hadoop Meetup
+author: admin
+type: post
+date: 2014-04-10T17:28:49+00:00
+url: /singapore-hadoop-meetup/
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - News
+
+---
+<div>
+  <strong> <a title="Hue: The Hadoop UI, Singapore Hadoop Meetup" href="http://www.slideshare.net/gethue/hue-the-hadoop-ui-hadoop-singapore" target="_blank" rel="noopener noreferrer">Hue: The Hadoop UI, Singapore Hadoop Meetup</a> </strong> from <strong><a href="http://www.slideshare.net/gethue" target="_blank" rel="noopener noreferrer">gethue</a></strong>
+</div>
+
+<div>
+</div>
+
+<div>
+  <a href="http://www.meetup.com/Hadoop-SG/events/174054202/"><strong>Hue Meetup</strong></a>
+</div>
+
+<iframe src="http://www.slideshare.net/slideshow/embed_code/33377844" height="550" width="900" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>

+ 289 - 0
docs/gethue/content/posts/2014-04-17-hadoop-tutorial-how-to-create-a-real-hadoop-cluster-in-10-minutes.md

@@ -0,0 +1,289 @@
+---
+title: How to create a real Hadoop cluster in 10 minutes?
+author: admin
+type: post
+date: 2014-04-17T12:37:45+00:00
+url: /hadoop-tutorial-how-to-create-a-real-hadoop-cluster-in-10-minutes/
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - Administration
+
+---
+<p dir="ltr">
+  <em>Last update <span style="color: #ff0000;">February 2nd 2017</span></em>
+</p>
+
+<p id="docs-internal-guid-5f9e143b-5ded-3474-e3cb-2476b7aedb36" dir="ltr">
+  We recently launched <a href="http://demo.gethue.com">demo.gethue.com</a>, which in <a href="https://gethue.com/hadoop-tutorial-live-demo-hadoop-directly-from-your-browser">one click</a> lets you try out a real Hadoop cluster. We followed the exact same process as building a production ready cluster. Here is how we did it.
+</p>
+
+<p dir="ltr">
+  Before getting started, you will need to get your hands on some machines. Hadoop runs on commodity hardware, so any regular computer with a major linux distribution will work. To follow along with the demo, take a look at Amazon Cloud Computing service. If you already have a server or two, or don't mind running Hadoop on your local linux box, then go straight to Machine Setup!
+</p>
+
+<p dir="ltr">
+  Here is a video demoing how easy it is to boot your own cluster and start crunching data!
+</p>
+
+<iframe src="https://player.vimeo.com/video/91805055?dnt=1&app_id=122963" width="640" height="360" frameborder="0" title="Hadoop Tutorial: how to create a real Hadoop cluster in a few minutes" allow="autoplay; fullscreen" allowfullscreen></iframe>
+
+<h1 dir="ltr">
+  Machine setup
+</h1>
+
+<p dir="ltr">
+  We picked <a href="http://aws.amazon.com/">AWS</a> and started 4 <a href="https://aws.amazon.com/ec2/pricing/">r3.large</a> instances with Ubuntu 14.04 and <span style="color: #ff0000;">100 GB storage</span> (instead of the default 8GB). If you need less performance, one xlarge instance is enough or you can install less services on an even smaller instance.
+</p>
+
+<p dir="ltr">
+  Then configure the security group like below. We allow everything between the instances (the first row, don’t forget it on multi machine cluster!) and open up Cloudera Manager and Hue ports to the outside.
+</p>
+
+<div dir="ltr">
+  <table>
+    <colgroup> <col width="163" /> <col width="103" /> <col width="89" /> <col width="269" /></colgroup> <tr>
+      <td>
+        <p dir="ltr">
+          All TCP
+        </p>
+      </td>
+
+      <td>
+        <p dir="ltr">
+          TCP
+        </p>
+      </td>
+
+      <td>
+        <p dir="ltr">
+          0 - 65535
+        </p>
+      </td>
+
+      <td>
+        <p dir="ltr">
+          sg-e2db7777 (hue-demo)
+        </p>
+      </td>
+    </tr>
+
+    <tr>
+      <td>
+        <p dir="ltr">
+          SSH
+        </p>
+      </td>
+
+      <td>
+        <p dir="ltr">
+          TCP
+        </p>
+      </td>
+
+      <td>
+        <p dir="ltr">
+          22
+        </p>
+      </td>
+
+      <td>
+        <p dir="ltr">
+          0.0.0.0/0
+        </p>
+      </td>
+    </tr>
+
+    <tr>
+      <td>
+        <p dir="ltr">
+          Custom TCP Rule
+        </p>
+      </td>
+
+      <td>
+        <p dir="ltr">
+          TCP
+        </p>
+      </td>
+
+      <td>
+        <p dir="ltr">
+          7180
+        </p>
+      </td>
+
+      <td>
+        <p dir="ltr">
+          0.0.0.0/0
+        </p>
+      </td>
+    </tr>
+
+    <tr>
+      <td>
+        <p dir="ltr">
+          Custom TCP Rule
+        </p>
+      </td>
+
+      <td>
+        <p dir="ltr">
+          TCP
+        </p>
+      </td>
+
+      <td>
+        <p dir="ltr">
+          8888
+        </p>
+      </td>
+
+      <td>
+        <p dir="ltr">
+          0.0.0.0/0
+        </p>
+      </td>
+    </tr>
+
+    <tr>
+      <td>
+        <p dir="ltr">
+          Custom ICMP Rule
+        </p>
+      </td>
+
+      <td>
+        <p dir="ltr">
+          Echo Reply
+        </p>
+      </td>
+
+      <td>
+        <p dir="ltr">
+          N/A
+        </p>
+      </td>
+
+      <td>
+        <p dir="ltr">
+          0.0.0.0/0
+        </p>
+      </td>
+    </tr>
+  </table>
+</div>
+
+<h1 dir="ltr">
+  Hadoop Setup
+</h1>
+
+<p dir="ltr">
+  Now that we have some machines, let’s install Hadoop. We used Cloudera Manager as it installs everything for us and just followed this <a href="http://www.cloudera.com/content/cloudera-content/cloudera-docs/CM5/latest/Cloudera-Manager-Installation-Guide/cm5ig_install_on_ec2.html#cmig_topic_8_1_unique_1">guide</a>. Moreover, post install monitoring and configuration are also greatly simplified with the administration interface.
+</p>
+
+<p dir="ltr">
+  Start first by connecting to one of the machine:
+</p>
+
+<!--email_off-->
+
+{{< highlight bash >}}ssh -i ~/demo.pem ubuntu@ec2-11-222-333-444.compute-1.amazonaws.com{{< /highlight >}}
+
+&nbsp;
+
+<p dir="ltr">
+  Retrieve and start Cloudera Manager:
+</p>
+
+{{< highlight bash >}}wget http://archive.cloudera.com/cm5/installer/latest/cloudera-manager-installer.bin
+
+chmod +x cloudera-manager-installer.bin
+
+sudo ./cloudera-manager-installer.bin
+
+{{< /highlight >}}
+
+<p dir="ltr">
+  After, login with the default credentials admin/admin (note: you might need to wait 5 minutes before http://ec2-54-178-21-60.compute-1.amazonaws.com:7180/ becomes available).
+</p>
+
+<p dir="ltr">
+  Then enter all the Public DNS IP (e.g. ec2-11-222-333-444.compute-1.amazonaws.com) of your machines in the Install Wizard and click go! Et voila, Cloudera Manager will setup your whole cluster automatically for you!
+</p>
+
+<p dir="ltr">
+  Assign a dynamic IP to your machine with Hue and then go to IP:8888 and start <a href="https://gethue.com/tutorials/">playing</a> with your fully functional Hadoop cluster and its <a href="https://gethue.com/tutorial-live-demo-of-search-on-hadoop/">examples</a>!
+</p>
+
+<p dir="ltr">
+  As usual feel free to comment on the<a href="http://groups.google.com/a/cloudera.org/group/hue-user"> hue-user</a> list or<a href="https://twitter.com/gethue"> @gethue</a>!
+</p>
+
+<p dir="ltr">
+  <strong>Note</strong>
+</p>
+
+<p dir="ltr">
+  If you are getting a "Bad Request (400)" error, you will need to enter in the hue.ini or CM safety valve:
+</p>
+
+{{< highlight bash >}}[desktop]
+
+allowed_hosts=*{{< /highlight >}}
+
+<p dir="ltr">
+  <strong>Note</strong>
+</p>
+
+<p dir="ltr">
+  If you have several machines, it is recommended to move the services around in order to homogenize the memory/CPU usage. For example split HBase, Oozie, Hive and Solr on different hosts.
+</p>
+
+<p dir="ltr">
+  <strong>Note</strong>
+</p>
+
+<p dir="ltr">
+  When running some MapReduce jobs with YARN, if all the jobs deadlock in ACCEPTED or READY states, you might be hitting this YARN bug.
+</p>
+
+<p dir="ltr">
+  The solution is to use a low number like 2 or 3 for the Dynamic resource manager pools. Go to CM → Clusters → Other → Dynamic Resource Pools → Configuration → Edit → YARN and set ‘Max Running Apps’ to 2.
+</p>
+
+<p style="text-align: center;">
+  <a href="https://cdn.gethue.com/uploads/2014/04/cm-yarn-pool.png"><img class=" wp-image-1143 aligncenter" src="https://cdn.gethue.com/uploads/2014/04/cm-yarn-pool.png" /></a>
+</p>
+
+<p style="text-align: left;">
+  You can also try to decrease yarn.nodemanager.resource.memory-mb and the task memory and bump the memory of yarn.app.mapreduce.am.resource.mb.
+</p>

+ 48 - 0
docs/gethue/content/posts/2014-04-17-yahoo-hadoop-meetup-integrate-hue-with-your-hadoop-cluster.md

@@ -0,0 +1,48 @@
+---
+title: Yahoo! Hadoop Meetup – Integrate Hue with your Hadoop cluster
+author: admin
+type: post
+date: 2014-04-17T04:59:24+00:00
+url: /yahoo-hadoop-meetup-integrate-hue-with-your-hadoop-cluster/
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-left
+slide_template:
+  - default
+categories:
+  - Administration
+  - News
+
+---
+This talk describes how Hue can be integrated with existing Hadoop deployments with minimal changes/disturbances. Romain covers details on how Hue can leverage the existing authentication system and security model of your company. He also covers the Hive/Shark/Pig/Oozie best practice setup for Hue.
+
+<http://www.meetup.com/hadoop/events/125191612/>
+
+<iframe src="http://www.slideshare.net/slideshow/embed_code/33630498" width="900" height="500" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
+
+{{< youtube jqx87zXY6qA >}}

+ 49 - 0
docs/gethue/content/posts/2014-04-23-israel-hadoop-meetup-hbase-browser.md

@@ -0,0 +1,49 @@
+---
+title: 'Israel Hadoop Meetup: HBase Browser'
+author: admin
+type: post
+date: 2014-04-23T22:59:19+00:00
+url: /israel-hadoop-meetup-hbase-browser/
+sf_thumbnail_type:
+  - none
+sf_thumbnail_link_type:
+  - link_to_post
+sf_detail_type:
+  - none
+sf_page_title:
+  - 1
+sf_page_title_style:
+  - standard
+sf_no_breadcrumbs:
+  - 1
+sf_page_title_bg:
+  - none
+sf_page_title_text_style:
+  - light
+sf_background_image_size:
+  - cover
+sf_social_sharing:
+  - 1
+sf_sidebar_config:
+  - left-sidebar
+sf_left_sidebar:
+  - Sidebar-2
+sf_right_sidebar:
+  - Sidebar-1
+sf_caption_position:
+  - caption-right
+slide_template:
+  - default
+categories:
+  - News
+
+---
+<iframe style="border: 1px solid #CCC; border-width: 1px 1px 0; margin-bottom: 5px; max-width: 100%;" src="http://www.slideshare.net/slideshow/embed_code/33868566" height="600" width="900" allowfullscreen="" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
+
+<div style="margin-bottom: 5px;">
+  <strong> <a title="Hadoop Israel - HBase Browser in Hue" href="https://fr.slideshare.net/gethue/hadoop-israel" target="_blank" rel="noopener noreferrer">Hadoop Israel - HBase Browser in Hue</a> </strong> from <strong><a href="http://www.slideshare.net/gethue" target="_blank" rel="noopener noreferrer">gethue</a></strong>
+</div>
+
+<div style="margin-bottom: 5px;">
+  <a href="http://www.meetup.com/HadoopIsrael/events/161701092/">Israel Hadoop Meetup April 23rd 2014</a>
+</div>

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików