浏览代码

HUE-8801 [hive] Add an Hive app to allow disabling Hive but not other connectors

Romain Rigaux 6 年之前
父节点
当前提交
a86c83355a

+ 2 - 2
apps/Makefile

@@ -106,10 +106,10 @@ I18N_APPS := about \
   sqoop \
   zookeeper \
   rdbms \
-  spark
+  spark \
+  hive
 
 COMPILE_LOCALE_TARGETS := $(I18N_APPS:%=.recursive-compile-locales/%)
 compile-locales: $(COMPILE_LOCALE_TARGETS)
 .recursive-compile-locales/%:
 	@$(MAKE) -C $* compile-locale
-

+ 24 - 0
apps/hive/Makefile

@@ -0,0 +1,24 @@
+#
+# Licensed to Cloudera, Inc. under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  Cloudera, Inc. licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+ifeq ($(ROOT),)
+  $(error "Error: Expect the environment variable $$ROOT to point to the Desktop installation")
+endif
+
+APP_NAME = hive
+include $(ROOT)/Makefile.sdk

+ 2 - 0
apps/hive/babel.cfg

@@ -0,0 +1,2 @@
+[python: src/hive/**.py]
+[mako: src/hive/hive/**.mako]

+ 1 - 0
apps/hive/hueversion.py

@@ -0,0 +1 @@
+../../VERSION

+ 29 - 0
apps/hive/setup.py

@@ -0,0 +1,29 @@
+# Licensed to Cloudera, Inc. under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  Cloudera, Inc. licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+from setuptools import setup, find_packages
+from hueversion import VERSION
+
+setup(
+      name = "hive",
+      version = VERSION,
+      author = "Hue",
+      url = 'http://github.com/cloudera/hue',
+      description = "Query all your Big Data",
+      packages = find_packages('src'),
+      package_dir = {'': 'src'},
+      install_requires = ['setuptools', 'desktop'],
+      entry_points = { 'desktop.sdk.application': 'hive=hive' },
+)

+ 15 - 0
apps/hive/src/hive/__init__.py

@@ -0,0 +1,15 @@
+# Licensed to Cloudera, Inc. under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  Cloudera, Inc. licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.

+ 256 - 0
apps/hive/src/hive/conf.py

@@ -0,0 +1,256 @@
+#!/usr/bin/env python
+# Licensed to Cloudera, Inc. under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  Cloudera, Inc. licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import logging
+import os
+import sys
+import socket
+
+from django.utils.translation import ugettext_lazy as _t, ugettext as _
+from desktop.conf import default_ssl_cacerts, default_ssl_validate, AUTH_USERNAME as DEFAULT_AUTH_USERNAME,\
+  AUTH_PASSWORD as DEFAULT_AUTH_PASSWORD
+from desktop.lib.conf import ConfigSection, Config, coerce_bool, coerce_csv, coerce_password_from_script
+from desktop.lib.exceptions import StructuredThriftTransportException
+from desktop.lib.paths import get_desktop_root
+
+from impala.impala_flags import get_max_result_cache_size, is_impersonation_enabled
+from impala.settings import NICE_NAME
+
+
+LOG = logging.getLogger(__name__)
+
+
+SERVER_HOST = Config(
+  key="server_host",
+  help=_t("Host of the Impala Server."),
+  default="localhost")
+
+SERVER_PORT = Config(
+  key="server_port",
+  help=_t("Port of the Impala Server."),
+  default=21050,
+  type=int)
+
+IMPALA_PRINCIPAL=Config(
+  key='impala_principal',
+  help=_t("Kerberos principal name for Impala. Typically 'impala/hostname.foo.com'."),
+  type=str,
+  default="impala/%s" % socket.getfqdn())
+
+IMPERSONATION_ENABLED=Config(
+  key='impersonation_enabled',
+  help=_t("Turn on/off impersonation mechanism when talking to Impala."),
+  type=coerce_bool,
+  dynamic_default=is_impersonation_enabled)
+
+QUERYCACHE_ROWS=Config(
+  key='querycache_rows',
+  help=_t("Number of initial rows of a resultset to ask Impala to cache in order to"
+          " support re-fetching them for downloading them."
+          " Set to 0 for disabling the option and backward compatibility."),
+  type=int,
+  dynamic_default=get_max_result_cache_size)
+
+SERVER_CONN_TIMEOUT = Config(
+  key='server_conn_timeout',
+  default=120,
+  type=int,
+  help=_t('Timeout in seconds for Thrift calls.'))
+
+CLOSE_QUERIES = Config(
+  key="close_queries",
+  help=_t("Hue will try to close the Impala query when the user leaves the editor page. "
+          "This will free all the query resources in Impala, but also make its results inaccessible."),
+  type=coerce_bool,
+  default=True
+)
+
+QUERY_TIMEOUT_S = Config(
+  key="query_timeout_s",
+  help=_t("If QUERY_TIMEOUT_S > 0, the query will be timed out (i.e. cancelled) if Impala does not do any work"
+          " (compute or send back results) for that query within QUERY_TIMEOUT_S seconds."),
+  type=int,
+  default=300
+)
+
+SESSION_TIMEOUT_S = Config(
+  key="session_timeout_s",
+  help=_t("If SESSION_TIMEOUT_S > 0, the session will be timed out (i.e. cancelled) if Impala does not do any work"
+          " (compute or send back results) for that session within SESSION_TIMEOUT_S seconds. Default: 15 min."),
+  type=int,
+  default=15 * 60
+)
+
+CONFIG_WHITELIST = Config(
+  key='config_whitelist',
+  default='debug_action,explain_level,mem_limit,optimize_partition_key_scans,query_timeout_s,request_pool',
+  type=coerce_csv,
+  help=_t('A comma-separated list of white-listed Impala configuration properties that users are authorized to set.')
+)
+
+IMPALA_CONF_DIR = Config(
+  key='impala_conf_dir',
+  help=_t('Impala configuration directory, where impala_flags is located.'),
+  default=os.environ.get("HUE_CONF_DIR", get_desktop_root("conf")) + '/impala-conf'
+)
+
+SSL = ConfigSection(
+  key='ssl',
+  help=_t('SSL configuration for the server.'),
+  members=dict(
+    ENABLED = Config(
+      key="enabled",
+      help=_t("SSL communication enabled for this server."),
+      type=coerce_bool,
+      default=False
+    ),
+    CACERTS = Config(
+      key="cacerts",
+      help=_t("Path to Certificate Authority certificates."),
+      type=str,
+      dynamic_default=default_ssl_cacerts,
+    ),
+    KEY = Config(
+      key="key",
+      help=_t("Path to the private key file, e.g. /etc/hue/key.pem"),
+      type=str,
+      default=None
+    ),
+    CERT = Config(
+      key="cert",
+      help=_t("Path to the public certificate file, e.g. /etc/hue/cert.pem"),
+      type=str,
+      default=None
+    ),
+    VALIDATE = Config(
+      key="validate",
+      help=_t("Choose whether Hue should validate certificates received from the server."),
+      type=coerce_bool,
+      dynamic_default=default_ssl_validate,
+    )
+  )
+)
+
+def get_auth_username():
+  """Get from top level default from desktop"""
+  return DEFAULT_AUTH_USERNAME.get()
+
+AUTH_USERNAME = Config(
+  key="auth_username",
+  help=_t("Auth username of the hue user used for authentications."),
+  private=True,
+  dynamic_default=get_auth_username)
+
+def get_auth_password():
+  """Get from script or backward compatibility"""
+  password = AUTH_PASSWORD_SCRIPT.get()
+  if password:
+    return password
+
+  return DEFAULT_AUTH_PASSWORD.get()
+
+AUTH_PASSWORD = Config(
+  key="auth_password",
+  help=_t("LDAP/PAM/.. password of the hue user used for authentications."),
+  private=True,
+  dynamic_default=get_auth_password
+)
+
+AUTH_PASSWORD_SCRIPT = Config(
+  key="auth_password_script",
+  help=_t("Execute this script to produce the auth password. This will be used when `auth_password` is not set."),
+  private=True,
+  type=coerce_password_from_script,
+  default=None
+)
+
+def get_daemon_config(key):
+  from metadata.conf import MANAGER
+  from metadata.manager_client import ManagerApi
+
+  if MANAGER.API_URL.get():
+    return ManagerApi().get_impalad_config(key=key, impalad_host=SERVER_HOST.get())
+
+  return None
+
+def get_daemon_api_username():
+  """
+    Try to get daemon_api_username from Cloudera Manager API
+  """
+  return get_daemon_config('webserver_htpassword_user')
+
+def get_daemon_api_password():
+  """
+    Try to get daemon_api_password from Cloudera Manager API
+  """
+  return get_daemon_config('webserver_htpassword_password')
+
+DAEMON_API_PASSWORD = Config(
+  key="daemon_api_password",
+  help=_t("Password for Impala Daemon when username/password authentication is enabled for the Impala Daemon UI."),
+  private=True,
+  dynamic_default=get_daemon_api_password
+)
+
+DAEMON_API_PASSWORD_SCRIPT = Config(
+  key="daemon_api_password_script",
+  help=_t("Execute this script to produce the Impala Daemon Password. This will be used when `daemon_api_password` is not set."),
+  private=True,
+  type=coerce_password_from_script,
+  default=None
+)
+
+DAEMON_API_USERNAME = Config(
+  key="daemon_api_username",
+  help=_t("Username for Impala Daemon when username/password authentication is enabled for the Impala Daemon UI."),
+  private=True,
+  dynamic_default=get_daemon_api_username
+)
+
+
+def config_validator(user):
+  # dbms is dependent on beeswax.conf (this file)
+  # import in method to avoid circular dependency
+  from beeswax.design import hql_query
+  from beeswax.server import dbms
+  from beeswax.server.dbms import get_query_server_config
+
+  res = []
+  try:
+    try:
+      if not 'test' in sys.argv: # Avoid tests hanging
+        query_server = get_query_server_config(name='impala')
+        server = dbms.get(user, query_server)
+        query = hql_query("SELECT 'Hello World!';")
+        handle = server.execute_and_wait(query, timeout_sec=10.0)
+
+        if handle:
+          server.fetch(handle, rows=100)
+          server.close(handle)
+    except StructuredThriftTransportException, ex:
+      if 'TSocket read 0 bytes' in str(ex):  # this message appears when authentication fails
+        msg = "Failed to authenticate to Impalad, check authentication configurations."
+        LOG.exception(msg)
+        res.append((NICE_NAME, _(msg)))
+      else:
+        raise ex
+  except Exception, ex:
+    msg = "No available Impalad to send queries to."
+    LOG.exception(msg)
+    res.append((NICE_NAME, _(msg)))
+
+  return res

+ 16 - 0
apps/hive/src/hive/forms.py

@@ -0,0 +1,16 @@
+#!/usr/bin/env python
+# Licensed to Cloudera, Inc. under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  Cloudera, Inc. licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.

+ 152 - 0
apps/hive/src/hive/locale/de/LC_MESSAGES/django.po

@@ -0,0 +1,152 @@
+# German translations for Hue.
+# Copyright (C) 2013 Cloudera, Inc
+# This file is distributed under the same license as the Hue project.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Hue VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2018-03-07 10:05-0800\n"
+"PO-Revision-Date: 2013-10-28 10:31-0700\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: de <LL@li.org>\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 0.9.6\n"
+
+#: src/impala/api.py:50
+msgid "Successfully invalidated metadata"
+msgstr "Metadaten erfolgreich ungültig gemacht"
+
+#: src/impala/api.py:64
+#, python-format
+msgid "Successfully refreshed metadata for `%s`.`%s`"
+msgstr "Metadaten für \"%s\".\"%s\" erfolgreich aktualisiert"
+
+#: src/impala/api.py:79
+msgid "get_exec_summary requires a valid query_history_id"
+msgstr "\"get_exec_summary\" erfordert eine gültige \"query_history_id\""
+
+#: src/impala/api.py:101
+msgid "get_runtime_profile requires a valid query_history_id"
+msgstr "\"get_runtime_profile\" erfordert eine gültige \"query_history_id\""
+
+#: src/impala/conf.py:39
+msgid "Host of the Impala Server."
+msgstr "Host des Impala-Servers."
+
+#: src/impala/conf.py:44
+msgid "Port of the Impala Server."
+msgstr "Port des Impala-Servers."
+
+#: src/impala/conf.py:50
+msgid "Kerberos principal name for Impala. Typically 'impala/hostname.foo.com'."
+msgstr "Kerberos-Hauptname für Impala. Typischerweise \"impala/hostname.foo.com\"."
+
+#: src/impala/conf.py:56
+msgid "Turn on/off impersonation mechanism when talking to Impala."
+msgstr ""
+"Imitationsmechanismus aktivieren/deaktivieren, wenn mit Impala "
+"kommuniziert wird."
+
+#: src/impala/conf.py:62
+msgid ""
+"Number of initial rows of a resultset to ask Impala to cache in order to "
+"support re-fetching them for downloading them. Set to 0 for disabling the"
+" option and backward compatibility."
+msgstr ""
+"Zahl der Ausgangszeilen eines Ergebnissatzes, um Impala aufzufordern, sie"
+" zwischenzuspeichern, damit sie wieder abgerufen und heruntergeladen "
+"werden können. Legen Sie hier 0 fest, um die Option und "
+"Rückwärtskompatibilität zu deaktivieren."
+
+#: src/impala/conf.py:72
+msgid "Timeout in seconds for Thrift calls."
+msgstr "Timeout in Sekunden für Thrift-Anrufe."
+
+#: src/impala/conf.py:76
+msgid ""
+"Hue will try to close the Impala query when the user leaves the editor "
+"page. This will free all the query resources in Impala, but also make its"
+" results inaccessible."
+msgstr ""
+"Hue versucht, die Impala-Abfrage zu schließen, wenn der Benutzer die "
+"Editorseite verlässt. Dadurch werden alle Abfrageressourcen in Impala "
+"freigesetzt, aber auch dessen Ergebnisse werden unzugänglich."
+
+#: src/impala/conf.py:84
+msgid ""
+"If QUERY_TIMEOUT_S > 0, the query will be timed out (i.e. cancelled) if "
+"Impala does not do any work (compute or send back results) for that query"
+" within QUERY_TIMEOUT_S seconds."
+msgstr ""
+"Wenn QUERY_TIMEOUT_S > 0, wird die Abfrage abgebrochen, wenn keine "
+"Aktivität von Impala (Berechnen oder Senden von Ergebnissen) mit dieser "
+"Abfrage innerhalb von QUERY_TIMEOUT_S Sekunden stattfindet."
+
+#: src/impala/conf.py:92
+msgid ""
+"If SESSION_TIMEOUT_S > 0, the session will be timed out (i.e. cancelled) "
+"if Impala does not do any work (compute or send back results) for that "
+"session within SESSION_TIMEOUT_S seconds. Default: 30 min."
+msgstr ""
+"Wenn SESSION_TIMEOUT_S > 0, findet ein Timeout für die Sitzung statt (d. h. sie wird abgebrochen), "
+"wenn keine Aktivität (Berechnen oder Senden von Ergebnissen) von Impala für diese Sitzung innerhalb von "
+"SESSION_TIMEOUT_S Sekunden stattfindet. Standardeinstellung: 30 Minuten."
+
+#: src/impala/conf.py:102
+msgid ""
+"A comma-separated list of white-listed Impala configuration properties "
+"that users are authorized to set."
+msgstr ""
+"Eine Komma-getrennte Liste der zulässigen Impala-"
+"Konfigurationseigenschaften, die Benutzer festlegen können."
+
+#: src/impala/conf.py:107
+msgid "Impala configuration directory, where impala_flags is located."
+msgstr "Impala-Konfigurationsverzeichnis, in dem sich impala_flags befindet."
+
+#: src/impala/conf.py:113
+msgid "SSL configuration for the server."
+msgstr "SSL-Konfiguration für den Server."
+
+#: src/impala/conf.py:117
+msgid "SSL communication enabled for this server."
+msgstr "SSL-Kommunikation für diesen Server aktiviert."
+
+#: src/impala/conf.py:124
+msgid "Path to Certificate Authority certificates."
+msgstr "Pfad zu den Zertifikatberechtigungen."
+
+#: src/impala/conf.py:131
+msgid "Path to the private key file, e.g. /etc/hue/key.pem"
+msgstr "Pfad zur Privatschlüsseldatei, z. B. /etc/hue/key.pem"
+
+#: src/impala/conf.py:138
+msgid "Path to the public certificate file, e.g. /etc/hue/cert.pem"
+msgstr "Pfad zur öffentlichen Zertifikatdatei, z. B. /etc/hue/cert.pem"
+
+#: src/impala/conf.py:145
+msgid "Choose whether Hue should validate certificates received from the server."
+msgstr "Legen Sie fest, ob Hue die vom Server empfangenen Zertifikate prüfen soll."
+
+#: src/impala/conf.py:158
+msgid "Auth username of the hue user used for authentications."
+msgstr "Der für Authentifizierungen verwendete auth-Benutzername des Hue-Benutzers"
+
+#: src/impala/conf.py:172
+msgid "LDAP/PAM/.. password of the hue user used for authentications."
+msgstr ""
+"LDAP/PAM/..-Kennwort des für Authentifizierungen verwendeten Hue-"
+"Benutzers."
+
+#: src/impala/conf.py:178
+msgid ""
+"Execute this script to produce the auth password. This will be used when "
+"`auth_password` is not set."
+msgstr ""
+"Führen Sie dieses Skript aus, um das auth-Kennwort zu generieren. Dieses "
+"wird verwendet, wenn \"auth_password\" nicht festgelegt ist."

+ 132 - 0
apps/hive/src/hive/locale/en/LC_MESSAGES/django.po

@@ -0,0 +1,132 @@
+# English translations for Hue.
+# Copyright (C) 2013 Cloudera, Inc
+# This file is distributed under the same license as the Hue project.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Hue VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2018-03-07 10:05-0800\n"
+"PO-Revision-Date: 2013-10-28 10:31-0700\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: en <LL@li.org>\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 0.9.6\n"
+
+#: src/impala/api.py:50
+msgid "Successfully invalidated metadata"
+msgstr ""
+
+#: src/impala/api.py:64
+#, python-format
+msgid "Successfully refreshed metadata for `%s`.`%s`"
+msgstr ""
+
+#: src/impala/api.py:79
+msgid "get_exec_summary requires a valid query_history_id"
+msgstr ""
+
+#: src/impala/api.py:101
+msgid "get_runtime_profile requires a valid query_history_id"
+msgstr ""
+
+#: src/impala/conf.py:39
+msgid "Host of the Impala Server."
+msgstr ""
+
+#: src/impala/conf.py:44
+msgid "Port of the Impala Server."
+msgstr ""
+
+#: src/impala/conf.py:50
+msgid "Kerberos principal name for Impala. Typically 'impala/hostname.foo.com'."
+msgstr ""
+
+#: src/impala/conf.py:56
+msgid "Turn on/off impersonation mechanism when talking to Impala."
+msgstr ""
+
+#: src/impala/conf.py:62
+msgid ""
+"Number of initial rows of a resultset to ask Impala to cache in order to "
+"support re-fetching them for downloading them. Set to 0 for disabling the"
+" option and backward compatibility."
+msgstr ""
+
+#: src/impala/conf.py:72
+msgid "Timeout in seconds for Thrift calls."
+msgstr ""
+
+#: src/impala/conf.py:76
+msgid ""
+"Hue will try to close the Impala query when the user leaves the editor "
+"page. This will free all the query resources in Impala, but also make its"
+" results inaccessible."
+msgstr ""
+
+#: src/impala/conf.py:84
+msgid ""
+"If QUERY_TIMEOUT_S > 0, the query will be timed out (i.e. cancelled) if "
+"Impala does not do any work (compute or send back results) for that query"
+" within QUERY_TIMEOUT_S seconds."
+msgstr ""
+
+#: src/impala/conf.py:92
+msgid ""
+"If SESSION_TIMEOUT_S > 0, the session will be timed out (i.e. cancelled) "
+"if Impala does not do any work (compute or send back results) for that "
+"session within SESSION_TIMEOUT_S seconds. Default: 30 min."
+msgstr ""
+
+#: src/impala/conf.py:102
+msgid ""
+"A comma-separated list of white-listed Impala configuration properties "
+"that users are authorized to set."
+msgstr ""
+
+#: src/impala/conf.py:107
+msgid "Impala configuration directory, where impala_flags is located."
+msgstr ""
+
+#: src/impala/conf.py:113
+msgid "SSL configuration for the server."
+msgstr ""
+
+#: src/impala/conf.py:117
+msgid "SSL communication enabled for this server."
+msgstr ""
+
+#: src/impala/conf.py:124
+msgid "Path to Certificate Authority certificates."
+msgstr ""
+
+#: src/impala/conf.py:131
+msgid "Path to the private key file, e.g. /etc/hue/key.pem"
+msgstr ""
+
+#: src/impala/conf.py:138
+msgid "Path to the public certificate file, e.g. /etc/hue/cert.pem"
+msgstr ""
+
+#: src/impala/conf.py:145
+msgid "Choose whether Hue should validate certificates received from the server."
+msgstr ""
+
+#: src/impala/conf.py:158
+msgid "Auth username of the hue user used for authentications."
+msgstr ""
+
+#: src/impala/conf.py:172
+msgid "LDAP/PAM/.. password of the hue user used for authentications."
+msgstr ""
+
+#: src/impala/conf.py:178
+msgid ""
+"Execute this script to produce the auth password. This will be used when "
+"`auth_password` is not set."
+msgstr ""
+

+ 41 - 0
apps/hive/src/hive/locale/en_US.pot

@@ -0,0 +1,41 @@
+# Translations template for Hue.
+# Copyright (C) 2013 Cloudera, Inc
+# This file is distributed under the same license as the Hue project.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Hue VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2013-05-10 11:59-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 0.9.6\n"
+
+#: src/impala/conf.py:26
+msgid "Host of the Impala Server."
+msgstr ""
+
+#: src/impala/conf.py:31
+msgid "Port of the Impala Server."
+msgstr ""
+
+#: src/impala/conf.py:37
+msgid ""
+"Beeswax or Hive Server 2 Thrift API used. Choices are: 'beeswax' or "
+"'hiveserver2'."
+msgstr ""
+
+#: src/impala/conf.py:42
+msgid "Kerberos principal name for Impala. Typically 'impala/hostname.foo.com'."
+msgstr ""
+
+#: src/impala/views.py:35
+msgid "A POST request is required."
+msgstr ""
+

+ 155 - 0
apps/hive/src/hive/locale/es/LC_MESSAGES/django.po

@@ -0,0 +1,155 @@
+# Spanish translations for Hue.
+# Copyright (C) 2013 Cloudera, Inc
+# This file is distributed under the same license as the Hue project.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Hue VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2018-03-07 10:05-0800\n"
+"PO-Revision-Date: 2013-10-28 10:31-0700\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: es <LL@li.org>\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 0.9.6\n"
+
+#: src/impala/api.py:50
+msgid "Successfully invalidated metadata"
+msgstr "Metadatos invalidados correctamente"
+
+#: src/impala/api.py:64
+#, python-format
+msgid "Successfully refreshed metadata for `%s`.`%s`"
+msgstr "Metadatos actualizados correctamente para `%s`.`%s`"
+
+#: src/impala/api.py:79
+msgid "get_exec_summary requires a valid query_history_id"
+msgstr "get_exec_summary requiere un query_history_id válido"
+
+#: src/impala/api.py:101
+msgid "get_runtime_profile requires a valid query_history_id"
+msgstr "get_runtime_profile requiere un query_history_id válido"
+
+#: src/impala/conf.py:39
+msgid "Host of the Impala Server."
+msgstr "Host del servidor Impala."
+
+#: src/impala/conf.py:44
+msgid "Port of the Impala Server."
+msgstr "Puerto del servidor Impala."
+
+#: src/impala/conf.py:50
+msgid "Kerberos principal name for Impala. Typically 'impala/hostname.foo.com'."
+msgstr ""
+"Nombre de la entidad de seguridad de Kerberos para Hue. Normalmente "
+"'hue/hostname.foo.com'."
+
+#: src/impala/conf.py:56
+msgid "Turn on/off impersonation mechanism when talking to Impala."
+msgstr "Activar/desactivar mecanismo de suplantación al hablar con Impala."
+
+#: src/impala/conf.py:62
+msgid ""
+"Number of initial rows of a resultset to ask Impala to cache in order to "
+"support re-fetching them for downloading them. Set to 0 for disabling the"
+" option and backward compatibility."
+msgstr ""
+"Número de filas iniciales de un conjunto de resultados que se le "
+"solicitará a Impala que almacene en caché para poder volver a capturarlos"
+" y descargarlos. Se establece en 0 para desactivar la opción y tener "
+"compatibilidad con versiones anteriores."
+
+#: src/impala/conf.py:72
+msgid "Timeout in seconds for Thrift calls."
+msgstr "Tiempo de espera en segundos para llamadas de Thrift."
+
+#: src/impala/conf.py:76
+msgid ""
+"Hue will try to close the Impala query when the user leaves the editor "
+"page. This will free all the query resources in Impala, but also make its"
+" results inaccessible."
+msgstr ""
+"Hue tratará de cerrar la consulta de Impala cuando el usuario abandone la"
+" página de editor. Así liberará todos los recursos de consulta de Impala,"
+" pero no se podrá acceder a sus resultados."
+
+#: src/impala/conf.py:84
+msgid ""
+"If QUERY_TIMEOUT_S > 0, the query will be timed out (i.e. cancelled) if "
+"Impala does not do any work (compute or send back results) for that query"
+" within QUERY_TIMEOUT_S seconds."
+msgstr ""
+"Si QUERY_TIMEOUT_S > 0, se superará el tiempo de espera de la consulta "
+"(es decir, se cancelará) si Impala no realiza ninguna acción (calcula o "
+"devuelve resultados) para esa consulta en el plazo de QUERY_TIMEOUT_S "
+"segundos."
+
+#: src/impala/conf.py:92
+msgid ""
+"If SESSION_TIMEOUT_S > 0, the session will be timed out (i.e. cancelled) "
+"if Impala does not do any work (compute or send back results) for that "
+"session within SESSION_TIMEOUT_S seconds. Default: 30 min."
+msgstr ""
+"Si SESSION_TIMEOUT_S > 0, se superará el tiempo de espera de la sesión (es decir, se cancelará) "
+"si Impala no realiza ninguna acción (calcula o devuelve resultados) para esa "
+"sesión en el plazo de SESSION_TIMEOUT_S segundos. Predeterminado: 30 min."
+
+#: src/impala/conf.py:102
+msgid ""
+"A comma-separated list of white-listed Impala configuration properties "
+"that users are authorized to set."
+msgstr ""
+"Una lista separada por comas de propiedades de configuración de lista "
+"blanca de Impala que los usuarios están autorizados a establecer."
+
+#: src/impala/conf.py:107
+msgid "Impala configuration directory, where impala_flags is located."
+msgstr "Directorio de configuración de Impala, donde se encuentra impala_flags."
+
+#: src/impala/conf.py:113
+msgid "SSL configuration for the server."
+msgstr "Configuración de SSL para el servidor."
+
+#: src/impala/conf.py:117
+msgid "SSL communication enabled for this server."
+msgstr "Comunicación de SSL activada para este servidor."
+
+#: src/impala/conf.py:124
+msgid "Path to Certificate Authority certificates."
+msgstr "Ruta a los certificados de la autoridad certificadora."
+
+#: src/impala/conf.py:131
+msgid "Path to the private key file, e.g. /etc/hue/key.pem"
+msgstr "Ruta al archivo de clave privada, p. ej., /etc/hue/key.pem"
+
+#: src/impala/conf.py:138
+msgid "Path to the public certificate file, e.g. /etc/hue/cert.pem"
+msgstr "Ruta al archivo de certificado público, p. ej., /etc/hue/cert.pem"
+
+#: src/impala/conf.py:145
+msgid "Choose whether Hue should validate certificates received from the server."
+msgstr "Elija si Hue debe validar los certificados que reciba del servidor."
+
+#: src/impala/conf.py:158
+msgid "Auth username of the hue user used for authentications."
+msgstr ""
+"Nombre de usuario de autenticación del usuario de Hue que se utiliza para"
+" las autenticaciones."
+
+#: src/impala/conf.py:172
+msgid "LDAP/PAM/.. password of the hue user used for authentications."
+msgstr ""
+"Contraseña de LDAP/PAM del usuario de Hue que se utiliza para las "
+"autenticaciones."
+
+#: src/impala/conf.py:178
+msgid ""
+"Execute this script to produce the auth password. This will be used when "
+"`auth_password` is not set."
+msgstr ""
+"Ejecute esta secuencia de comandos para generar la contraseña de "
+"autenticación. Se utilizará cuando `auth_password` no esté definido."

+ 153 - 0
apps/hive/src/hive/locale/fr/LC_MESSAGES/django.po

@@ -0,0 +1,153 @@
+# French translations for Hue.
+# Copyright (C) 2013 Cloudera, Inc
+# This file is distributed under the same license as the Hue project.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Hue VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2018-03-07 10:05-0800\n"
+"PO-Revision-Date: 2013-10-28 10:31-0700\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: fr <LL@li.org>\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 0.9.6\n"
+
+#: src/impala/api.py:50
+msgid "Successfully invalidated metadata"
+msgstr "Métadonnées invalidées avec succès"
+
+#: src/impala/api.py:64
+#, python-format
+msgid "Successfully refreshed metadata for `%s`.`%s`"
+msgstr "Métadonnées actualisées avec succès pour '%s'.'%s'"
+
+#: src/impala/api.py:79
+msgid "get_exec_summary requires a valid query_history_id"
+msgstr "get_exec_summary exige un query_history_id valable"
+
+#: src/impala/api.py:101
+msgid "get_runtime_profile requires a valid query_history_id"
+msgstr "get_runtime_profile requiert un query_history_id valable"
+
+#: src/impala/conf.py:39
+msgid "Host of the Impala Server."
+msgstr "Hôte du serveur Impala."
+
+#: src/impala/conf.py:44
+msgid "Port of the Impala Server."
+msgstr "Port du serveur Impala."
+
+#: src/impala/conf.py:50
+msgid "Kerberos principal name for Impala. Typically 'impala/hostname.foo.com'."
+msgstr "Nom Kerberos principal pour Impala. En général 'impala/nomhôte.foo.com'."
+
+#: src/impala/conf.py:56
+msgid "Turn on/off impersonation mechanism when talking to Impala."
+msgstr ""
+"Activez/désactivez le mécanisme d'emprunt d'identité lorsqu'il s'agit "
+"d'Impala."
+
+#: src/impala/conf.py:62
+msgid ""
+"Number of initial rows of a resultset to ask Impala to cache in order to "
+"support re-fetching them for downloading them. Set to 0 for disabling the"
+" option and backward compatibility."
+msgstr ""
+"Nombre de lignes initiales d'un jeu de résultats devant être mises en "
+"cache par Impala pour permettre la prise en charge d'une nouvelle "
+"extraction afin de les télécharger. Définissez-le sur la valeur 0 pour "
+"désactiver l'option et la compatibilité descendante."
+
+#: src/impala/conf.py:72
+msgid "Timeout in seconds for Thrift calls."
+msgstr "Temporisation en secondes pour les appels Thrift."
+
+#: src/impala/conf.py:76
+msgid ""
+"Hue will try to close the Impala query when the user leaves the editor "
+"page. This will free all the query resources in Impala, but also make its"
+" results inaccessible."
+msgstr ""
+"Hue tente de fermer la requête Impala lorsque l'utilisateur quitte la "
+"page de l'éditeur. Toutes les ressources de requête sont ainsi libérées "
+"dans Impala, mais les résultats deviennent inaccessibles."
+
+#: src/impala/conf.py:84
+msgid ""
+"If QUERY_TIMEOUT_S > 0, the query will be timed out (i.e. cancelled) if "
+"Impala does not do any work (compute or send back results) for that query"
+" within QUERY_TIMEOUT_S seconds."
+msgstr ""
+"Si QUERY_TIMEOUT_S > 0, la requête expire (est annulée) lorsqu'Impala "
+"n'effectue aucune tâche (traitement ou renvoi de résultats) pour cette "
+"requête dans un délai de QUERY_TIMEOUT_S secondes."
+
+#: src/impala/conf.py:92
+msgid ""
+"If SESSION_TIMEOUT_S > 0, the session will be timed out (i.e. cancelled) "
+"if Impala does not do any work (compute or send back results) for that "
+"session within SESSION_TIMEOUT_S seconds. Default: 30 min."
+msgstr ""
+"Si SESSION_TIMEOUT_S > 0, la session expire (est annulée) "
+"si Impala n'effectue aucune tâche (calcul ou renvoi de résultats) pour cette"
+"session dans un délai de SESSION_TIMEOUT_S secondes. Valeur par défaut : 30 min"
+
+#: src/impala/conf.py:102
+msgid ""
+"A comma-separated list of white-listed Impala configuration properties "
+"that users are authorized to set."
+msgstr ""
+"Liste de valeurs séparées par des virgules des propriétés de "
+"configuration d'Impala en liste blanche, que les utilisateurs sont "
+"autorisés à définir."
+
+#: src/impala/conf.py:107
+msgid "Impala configuration directory, where impala_flags is located."
+msgstr "Répertoire de configuration Impala incluant impala_flags."
+
+#: src/impala/conf.py:113
+msgid "SSL configuration for the server."
+msgstr "Configuration SSL pour le serveur."
+
+#: src/impala/conf.py:117
+msgid "SSL communication enabled for this server."
+msgstr "Communication SSL activée pour ce serveur."
+
+#: src/impala/conf.py:124
+msgid "Path to Certificate Authority certificates."
+msgstr "Chemin d'accès vers les certificats de l'Autorité de certification."
+
+#: src/impala/conf.py:131
+msgid "Path to the private key file, e.g. /etc/hue/key.pem"
+msgstr "Chemin d'accès au fichier de clé privée, par ex. /etc/hue/key.pem"
+
+#: src/impala/conf.py:138
+msgid "Path to the public certificate file, e.g. /etc/hue/cert.pem"
+msgstr "Chemin d'accès au fichier de certificat public, par ex. /etc/hue/cert.pem"
+
+#: src/impala/conf.py:145
+msgid "Choose whether Hue should validate certificates received from the server."
+msgstr "Indiquez si Hue doit valider les certificats reçus du serveur."
+
+#: src/impala/conf.py:158
+msgid "Auth username of the hue user used for authentications."
+msgstr "Nom de l'utilisateur Hue utilisé pour les authentifications."
+
+#: src/impala/conf.py:172
+msgid "LDAP/PAM/.. password of the hue user used for authentications."
+msgstr ""
+"Mot de passe LDAP/PAM.. de l'utilisateur Hue utilisé pour les "
+"authentifications."
+
+#: src/impala/conf.py:178
+msgid ""
+"Execute this script to produce the auth password. This will be used when "
+"`auth_password` is not set."
+msgstr ""
+"Exécutez ce script pour générer le mot de passe d'authentification. Il "
+"sera utilisé si 'auth_password' n'est pas défini."

+ 138 - 0
apps/hive/src/hive/locale/ja/LC_MESSAGES/django.po

@@ -0,0 +1,138 @@
+# Japanese translations for Hue.
+# Copyright (C) 2013 Cloudera, Inc
+# This file is distributed under the same license as the Hue project.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Hue VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2018-03-07 10:05-0800\n"
+"PO-Revision-Date: 2013-10-28 10:31-0700\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: ja <LL@li.org>\n"
+"Plural-Forms: nplurals=1; plural=0\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 0.9.6\n"
+
+#: src/impala/api.py:50
+msgid "Successfully invalidated metadata"
+msgstr "メタデータを無効化しました"
+
+#: src/impala/api.py:64
+#, python-format
+msgid "Successfully refreshed metadata for `%s`.`%s`"
+msgstr "`%s`.`%s` のメタデータをリフレッシュしました"
+
+#: src/impala/api.py:79
+msgid "get_exec_summary requires a valid query_history_id"
+msgstr "get_exec_summary には有効な query_history_id が必要です"
+
+#: src/impala/api.py:101
+msgid "get_runtime_profile requires a valid query_history_id"
+msgstr "get_runtime_profile には有効な query_history_id が必要です"
+
+#: src/impala/conf.py:39
+msgid "Host of the Impala Server."
+msgstr "Impala Server のホストです。"
+
+#: src/impala/conf.py:44
+msgid "Port of the Impala Server."
+msgstr "Impala Server のポートです。"
+
+#: src/impala/conf.py:50
+msgid "Kerberos principal name for Impala. Typically 'impala/hostname.foo.com'."
+msgstr "Impala の Kerberos プリンシパル名。一般的には 'impala/hostname.foo.com' です。"
+
+#: src/impala/conf.py:56
+msgid "Turn on/off impersonation mechanism when talking to Impala."
+msgstr "Impala に通信する際のなりすましメカニズムをオン/オフします。"
+
+#: src/impala/conf.py:62
+msgid ""
+"Number of initial rows of a resultset to ask Impala to cache in order to "
+"support re-fetching them for downloading them. Set to 0 for disabling the"
+" option and backward compatibility."
+msgstr "Impalaのダウンロードを再フェッチするために、Impala にキャッシュを要求するための結果セットの最初の行数。オプションと下位互換性を無効にするには 0 に設定します。"
+
+#: src/impala/conf.py:72
+msgid "Timeout in seconds for Thrift calls."
+msgstr "Thrift コールのタイムアウト時間(秒)。"
+
+#: src/impala/conf.py:76
+msgid ""
+"Hue will try to close the Impala query when the user leaves the editor "
+"page. This will free all the query resources in Impala, but also make its"
+" results inaccessible."
+msgstr ""
+"ユーザーがエディタページを移動すると、Hue は Impala クエリを閉じようとします。これにより、Impala "
+"のクエリリソースがすべて解放されますが、結果にもアクセスできなくなります。"
+
+#: src/impala/conf.py:84
+msgid ""
+"If QUERY_TIMEOUT_S > 0, the query will be timed out (i.e. cancelled) if "
+"Impala does not do any work (compute or send back results) for that query"
+" within QUERY_TIMEOUT_S seconds."
+msgstr ""
+"QUERY_TIMEOUT_S > 0 の場合に、QUERY_TIMEOUT_S 秒以内に Impala "
+"がそのクエリの処理(計算または結果の送信)を実行しない場合、クエリはタイムアウトになります(つまりキャンセルされます)。"
+
+#: src/impala/conf.py:92
+msgid ""
+"If SESSION_TIMEOUT_S > 0, the session will be timed out (i.e. cancelled) "
+"if Impala does not do any work (compute or send back results) for that "
+"session within SESSION_TIMEOUT_S seconds. Default: 30 min."
+msgstr ""
+"SESSION_TIMEOUT_S > 0 の場合、SESSION_TIMEOUT_S 秒以内に Impala が"
+"そのセッションの処理(計算または結果の送信)を実行しないと、セッションはタイムアウトになります"
+"(つまりキャンセルされます)。デフォルトは 30 分です。"
+
+#: src/impala/conf.py:102
+msgid ""
+"A comma-separated list of white-listed Impala configuration properties "
+"that users are authorized to set."
+msgstr "ユーザーに設定を許可する Impala 設定プロパティのホワイトリスト(カンマ区切りリスト)です。"
+
+#: src/impala/conf.py:107
+msgid "Impala configuration directory, where impala_flags is located."
+msgstr "impala_flags が格納されている Impala 設定ディレクトリです。"
+
+#: src/impala/conf.py:113
+msgid "SSL configuration for the server."
+msgstr "サーバーの SSL 設定です。"
+
+#: src/impala/conf.py:117
+msgid "SSL communication enabled for this server."
+msgstr "このサーバーに対して、SSL 通信が有効になっています。"
+
+#: src/impala/conf.py:124
+msgid "Path to Certificate Authority certificates."
+msgstr "認証局証明書へのパスです。"
+
+#: src/impala/conf.py:131
+msgid "Path to the private key file, e.g. /etc/hue/key.pem"
+msgstr "/etc/hue/key.pem など、秘密鍵ファイルへのパスです。"
+
+#: src/impala/conf.py:138
+msgid "Path to the public certificate file, e.g. /etc/hue/cert.pem"
+msgstr "/etc/hue/cert.pem など、公開証明書ファイルへのパスです"
+
+#: src/impala/conf.py:145
+msgid "Choose whether Hue should validate certificates received from the server."
+msgstr "サーバーから受け取った証明書を Hue で検証するかどうかを選択します。"
+
+#: src/impala/conf.py:158
+msgid "Auth username of the hue user used for authentications."
+msgstr "認証に使用する Hue ユーザーの認証ユーザー名"
+
+#: src/impala/conf.py:172
+msgid "LDAP/PAM/.. password of the hue user used for authentications."
+msgstr "認証に使用する Hue ユーザーの LDAP/PAM/.. パスワードです。"
+
+#: src/impala/conf.py:178
+msgid ""
+"Execute this script to produce the auth password. This will be used when "
+"`auth_password` is not set."
+msgstr "このスクリプトを実行して認証パスワードを作成します。これは auth_password が設定されていない場合に利用されます。"

+ 140 - 0
apps/hive/src/hive/locale/ko/LC_MESSAGES/django.po

@@ -0,0 +1,140 @@
+# Korean translations for Hue.
+# Copyright (C) 2013 Cloudera, Inc
+# This file is distributed under the same license as the Hue project.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Hue VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2018-03-07 10:05-0800\n"
+"PO-Revision-Date: 2013-10-28 10:31-0700\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: ko <LL@li.org>\n"
+"Plural-Forms: nplurals=1; plural=0\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 0.9.6\n"
+
+#: src/impala/api.py:50
+msgid "Successfully invalidated metadata"
+msgstr "메타데이터를 성공적으로 무효화함"
+
+#: src/impala/api.py:64
+#, python-format
+msgid "Successfully refreshed metadata for `%s`.`%s`"
+msgstr "`%s`.`%s`에 대한 메타데이터를 성공적으로 새로 고침"
+
+#: src/impala/api.py:79
+msgid "get_exec_summary requires a valid query_history_id"
+msgstr "get_exec_summary에 올바른 query_history_id가 필요함"
+
+#: src/impala/api.py:101
+msgid "get_runtime_profile requires a valid query_history_id"
+msgstr "get_runtime_profile에 올바른 query_history_id가 필요함"
+
+#: src/impala/conf.py:39
+msgid "Host of the Impala Server."
+msgstr "Impala 서버의 호스트입니다."
+
+#: src/impala/conf.py:44
+msgid "Port of the Impala Server."
+msgstr "Impala 서버의 포트입니다."
+
+#: src/impala/conf.py:50
+msgid "Kerberos principal name for Impala. Typically 'impala/hostname.foo.com'."
+msgstr "Impala의 Kerberos 원칙 이름입니다. 일반적으로 'impala/hostname.foo.com'입니다."
+
+#: src/impala/conf.py:56
+msgid "Turn on/off impersonation mechanism when talking to Impala."
+msgstr "Impala와 통신할 때 가장 메커니즘을 켭니다/끕니다."
+
+#: src/impala/conf.py:62
+msgid ""
+"Number of initial rows of a resultset to ask Impala to cache in order to "
+"support re-fetching them for downloading them. Set to 0 for disabling the"
+" option and backward compatibility."
+msgstr ""
+"첫 행 다운로드를 위한 다시 가져오기를 지원하기 위해 Impala에 캐시하도록 요청하는 resultset의 첫 행 수입니다. 이 "
+"옵션 및 이전 버전과의 호환성을 사용하지 않으려면 0으로 설정합니다."
+
+#: src/impala/conf.py:72
+msgid "Timeout in seconds for Thrift calls."
+msgstr "Thrift 호출의 제한 시간(단위: 초)입니다."
+
+#: src/impala/conf.py:76
+msgid ""
+"Hue will try to close the Impala query when the user leaves the editor "
+"page. This will free all the query resources in Impala, but also make its"
+" results inaccessible."
+msgstr ""
+"사용자가 편집기 페이지를 나가면 Hue가 Impala 쿼리를 닫습니다. 이렇게 하면 Impala의 모든 쿼리 리소스가 비워지지만 "
+"해당 결과에 액세스할 수 없게 됩니다."
+
+#: src/impala/conf.py:84
+msgid ""
+"If QUERY_TIMEOUT_S > 0, the query will be timed out (i.e. cancelled) if "
+"Impala does not do any work (compute or send back results) for that query"
+" within QUERY_TIMEOUT_S seconds."
+msgstr ""
+"QUERY_TIMEOUT_S > 0일 경우 Impala가 QUERY_TIMEOUT_S초 이내에 해당 쿼리에 대해 아무 작업(계산 "
+"또는 결과 다시 전송)도 하지 않으면 시간이 초과됩니다(예: 취소됨)."
+
+#: src/impala/conf.py:92
+msgid ""
+"If SESSION_TIMEOUT_S > 0, the session will be timed out (i.e. cancelled) "
+"if Impala does not do any work (compute or send back results) for that "
+"session within SESSION_TIMEOUT_S seconds. Default: 30 min."
+msgstr ""
+"SESSION_TIMEOUT_S > 0일 경우 Impala가 SESSION_TIMEOUT_S초 이내에 "
+"해당 세션에 대해 아무 작업(계산 또는 결과 다시 전송)도 하지 않으면 "
+"세션 시간이 초과됩니다(즉, 취소됨). 기본값: 30분."
+
+#: src/impala/conf.py:102
+msgid ""
+"A comma-separated list of white-listed Impala configuration properties "
+"that users are authorized to set."
+msgstr "사용자에게 설정 권한이 있는 쉼표로 구분된 화이트리스트 포함 Impala 구성 속성 목록입니다."
+
+#: src/impala/conf.py:107
+msgid "Impala configuration directory, where impala_flags is located."
+msgstr "impala_flags가 위치한 Impala 구성 디렉토리입니다."
+
+#: src/impala/conf.py:113
+msgid "SSL configuration for the server."
+msgstr "서버에 대한 SSL 구성입니다."
+
+#: src/impala/conf.py:117
+msgid "SSL communication enabled for this server."
+msgstr "이 서버에 대해 SSL 통신이 설정되었습니다."
+
+#: src/impala/conf.py:124
+msgid "Path to Certificate Authority certificates."
+msgstr "인증 기관 인증서에 대한 경로입니다."
+
+#: src/impala/conf.py:131
+msgid "Path to the private key file, e.g. /etc/hue/key.pem"
+msgstr "개인 키 파일에 대한 경로(예: /etc/hue/key.pem)"
+
+#: src/impala/conf.py:138
+msgid "Path to the public certificate file, e.g. /etc/hue/cert.pem"
+msgstr "공용 인증서 파일에 대한 경로(예: /etc/hue/cert.pem)"
+
+#: src/impala/conf.py:145
+msgid "Choose whether Hue should validate certificates received from the server."
+msgstr "서버에서 받은 인증서의 유효성을 Hue에서 검사할 것인지 선택합니다."
+
+#: src/impala/conf.py:158
+msgid "Auth username of the hue user used for authentications."
+msgstr "인증에 사용된 Hue 사용자의 인증 사용자 이름입니다."
+
+#: src/impala/conf.py:172
+msgid "LDAP/PAM/.. password of the hue user used for authentications."
+msgstr "인증에 사용된 Hue 사용자의 LDAP/PAM/.. 암호입니다."
+
+#: src/impala/conf.py:178
+msgid ""
+"Execute this script to produce the auth password. This will be used when "
+"`auth_password` is not set."
+msgstr "인증 암호를 생성하려면 이 스크립트를 실행합니다. `auth_password`가 설정되지 않은 경우 사용합니다."

+ 200 - 0
apps/hive/src/hive/locale/pt/LC_MESSAGES/django.po

@@ -0,0 +1,200 @@
+# Portuguese translations for Hue.
+# Copyright (C) 2012 Cloudera
+# This file is distributed under the same license as the Hue project.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2015-02-04 18:47-0800\n"
+"PO-Revision-Date: 2012-07-30 18:50-0700\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: pt <LL@li.org>\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 0.9.6\n"
+
+#: src/impala/conf.py:29
+msgid "Host of the Impala Server."
+msgstr "Anfitrião do Impala Server."
+
+#: src/impala/conf.py:34
+msgid "Port of the Impala Server."
+msgstr "Porta do servidor Impala."
+
+#: src/impala/conf.py:40
+msgid "Kerberos principal name for Impala. Typically 'impala/hostname.foo.com'."
+msgstr "Nome principal do Kerberos para o Impala. Normalmente \"'impala/hostname.foo.com\"."
+
+#: src/impala/conf.py:46
+msgid "Turn on/off impersonation mechanism when talking to Impala."
+msgstr "Ligar/desligar mecanismo de representação ao comunicar com o Impala."
+
+#: src/impala/conf.py:52
+msgid "Number of initial rows of a resultset to ask Impala to cache in order to support re-fetching them for downloading them. Set to 0 for disabling the option and backward compatibility."
+msgstr "Número de linhas iniciais de um conjunto de resultados para pedir ao Impala para colocar em cache, para apoiar re-obtenções para os transferir. Ajuste para 0 para desactivar a opção e a retrocompatibilidade."
+
+#: src/impala/conf.py:62
+msgid "Timeout in seconds for Thrift calls."
+msgstr "Limite de tempo em segundos para chamadas Thrift."
+
+#: src/impala/conf.py:66
+msgid "Hue will try to close the Impala query when the user leaves the editor page. This will free all the query resources in Impala, but also make its results inaccessible."
+msgstr "O Hue tentará fechar a consulta no Impala quando o utilizador deixar a página de editor, o que libertará todos os recursos de consulta no Impala, mas também tornará os seus resultados inacessíveis."
+
+#: src/impala/conf.py:74
+msgid "If QUERY_TIMEOUT_S > 0, the query will be timed out (i.e. cancelled) if Impala does not do any work (compute or send back results) for that query within QUERY_TIMEOUT_S seconds."
+msgstr "Se QUERY_TIMEOUT_S > 0, o tempo de consulta é excedido (ou seja, a consulta é cancelada) se o Impala não efectuar qualquer acção (computar ou enviar resultados) relacionada com tal consulta em QUERY_TIMEOUT_S segundos."
+
+#: src/impala/conf.py:82
+msgid "SSL configuration for the server."
+msgstr "Configuração SSL para o servidor."
+
+#: src/impala/conf.py:86
+msgid "SSL communication enabled for this server."
+msgstr "Comunicação SSL activada para este servidor."
+
+#: src/impala/conf.py:93
+msgid "Path to Certificate Authority certificates."
+msgstr "Caminho para certificados de autoridade de certificação."
+
+#: src/impala/conf.py:100
+msgid "Path to the private key file."
+msgstr "Caminho para o ficheiro de chave privada."
+
+#: src/impala/conf.py:107
+msgid "Path to the public certificate file."
+msgstr "Caminho para o ficheiro de certificado público."
+
+#: src/impala/conf.py:114
+msgid "Choose whether Hue should validate certificates received from the server."
+msgstr "Decida se o Hue deve validar certificados recebidos a partir do servidor."
+
+#: src/impala/conf.py:134
+msgid "No available Impalad to send queries to."
+msgstr "Sem Impalad disponível para enviar consultas."
+
+#: src/impala/dashboards.py:201
+msgid "Page saved !"
+msgstr "Página guardada!"
+
+#: src/impala/dashboards.py:203
+msgid "There is no dashboard to search."
+msgstr "Não existe painel para pesquisar."
+
+#: src/impala/templates/dashboard.mako:31
+msgid "Grid Results"
+msgstr "Resultados de grelha"
+
+#: src/impala/templates/dashboard.mako:39
+msgid "Text Facet"
+msgstr "Aspecto do texto"
+
+#: src/impala/templates/dashboard.mako:46
+msgid "Pie Chart"
+msgstr "Gráfico circular"
+
+#: src/impala/templates/dashboard.mako:53
+msgid "Bar Chart"
+msgstr "Gráfico de barras"
+
+#: src/impala/templates/dashboard.mako:60
+msgid "Line Chart"
+msgstr "Gráfico de linhas"
+
+#: src/impala/templates/dashboard.mako:67
+msgid "Timeline"
+msgstr "Cronologia"
+
+#: src/impala/templates/dashboard.mako:74
+msgid "Filter Bar"
+msgstr "Barra de filtro"
+
+#: src/impala/templates/dashboard.mako:81
+msgid "Map"
+msgstr "Mapa"
+
+#: src/impala/templates/dashboard.mako:91
+msgid "Edit"
+msgstr "Editar"
+
+#: src/impala/templates/dashboard.mako:93
+msgid "Save"
+msgstr "Guardar"
+
+#: src/impala/templates/dashboard.mako:93
+msgid "Saving..."
+msgstr "A guardar..."
+
+#: src/impala/templates/dashboard.mako:94
+msgid "New"
+msgstr "Novo"
+
+#: src/impala/templates/dashboard.mako:99
+msgid "Select a database and a table"
+msgstr "Seleccione uma base de dados e uma tabela"
+
+#: src/impala/templates/dashboard.mako:101
+msgid "Choose a database..."
+msgstr "Seleccione uma base de dados..."
+
+#: src/impala/templates/dashboard.mako:102
+msgid "Choose a table..."
+msgstr "Seleccione uma tabela..."
+
+#: src/impala/templates/dashboard.mako:104
+msgid "Manually refresh the dropdowns"
+msgstr "Actualize os menus pendentes manualmente"
+
+#: src/impala/templates/dashboard.mako:109
+msgid "Search"
+msgstr "Pesquisar"
+
+#: src/impala/templates/dashboard.mako:139
+msgid "Filter fields"
+msgstr "Campos de Filtro"
+
+#: src/impala/templates/dashboard.mako:147
+msgid "Field Name"
+msgstr "Nome de ficheiro"
+
+#: src/impala/templates/dashboard.mako:169
+msgid "Your search did not match any documents."
+msgstr "A sua pesquisa não corresponde a quaisquer documentos."
+
+#: src/impala/templates/dashboard.mako:243
+msgid "Exclude this value"
+msgstr "Excluir este valor"
+
+#: src/impala/templates/dashboard.mako:377
+msgid "There are currently no filters applied."
+msgstr "Neste momento, não existem filtros aplicados."
+
+#: src/impala/templates/dashboard.mako:382
+#: src/impala/templates/dashboard.mako:392
+msgid "field"
+msgstr "campo"
+
+#: src/impala/templates/dashboard.mako:385
+msgid "value"
+msgstr "valor"
+
+#: src/impala/templates/dashboard.mako:396
+msgid "from"
+msgstr "de"
+
+#: src/impala/templates/dashboard.mako:398
+msgid "to"
+msgstr "para"
+
+#: src/impala/templates/dashboard.mako:611
+msgid "Oops, no database found!"
+msgstr "Ups, nenhuma base de dados encontrada!"
+
+#: src/impala/templates/dashboard.mako:635
+msgid "Oops, no table found!"
+msgstr "Ups, nenhuma tabela encontrada!"
+

+ 200 - 0
apps/hive/src/hive/locale/pt_BR/LC_MESSAGES/django.po

@@ -0,0 +1,200 @@
+# Portuguese (Brazil) translations for Hue.
+# Copyright (C) 2012 Cloudera
+# This file is distributed under the same license as the Hue project.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2015-02-04 18:47-0800\n"
+"PO-Revision-Date: 2012-07-30 18:50-0700\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: pt_BR <LL@li.org>\n"
+"Plural-Forms: nplurals=2; plural=(n > 1)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 0.9.6\n"
+
+#: src/impala/conf.py:29
+msgid "Host of the Impala Server."
+msgstr "Host do servidor Impala."
+
+#: src/impala/conf.py:34
+msgid "Port of the Impala Server."
+msgstr "Porta do servidor Impala."
+
+#: src/impala/conf.py:40
+msgid "Kerberos principal name for Impala. Typically 'impala/hostname.foo.com'."
+msgstr "Nome principal do Kerberos para o Impala. Normalmente, 'hue/hostname.foo.com'."
+
+#: src/impala/conf.py:46
+msgid "Turn on/off impersonation mechanism when talking to Impala."
+msgstr "Ative/desative o mecanismo de representação ao falar com o Impala."
+
+#: src/impala/conf.py:52
+msgid "Number of initial rows of a resultset to ask Impala to cache in order to support re-fetching them for downloading them. Set to 0 for disabling the option and backward compatibility."
+msgstr "Número de linhas iniciais de um conjunto de resultados para pedir ao Impala para armazenar em cache a fim de suportar a nova busca deles para download. Defina como 0 para desativar a opção e fazer a compatibilidade com versões anteriores."
+
+#: src/impala/conf.py:62
+msgid "Timeout in seconds for Thrift calls."
+msgstr "Tempo limite em segundos para chamadas de Thrift."
+
+#: src/impala/conf.py:66
+msgid "Hue will try to close the Impala query when the user leaves the editor page. This will free all the query resources in Impala, but also make its results inaccessible."
+msgstr "O Hue tentará fechar a consulta do Impala quando o usuário sair da página do editor. Isso liberará todos os recursos de consulta no Impala, mas também tornará os resultados inacessíveis."
+
+#: src/impala/conf.py:74
+msgid "If QUERY_TIMEOUT_S > 0, the query will be timed out (i.e. cancelled) if Impala does not do any work (compute or send back results) for that query within QUERY_TIMEOUT_S seconds."
+msgstr "Se QUERY_TIMEOUT_S > 0, o tempo de consulta se esgotará (ou seja, a consulta será cancelada) se o Impala não fizer nada (computar ou retornar resultados) para essa conta em QUERY_TIMEOUT_S segundos."
+
+#: src/impala/conf.py:82
+msgid "SSL configuration for the server."
+msgstr "Configuração SSL para o servidor."
+
+#: src/impala/conf.py:86
+msgid "SSL communication enabled for this server."
+msgstr "Comunicação SSL habilitada neste servidor."
+
+#: src/impala/conf.py:93
+msgid "Path to Certificate Authority certificates."
+msgstr "Caminho para os certificados da Autoridade de certificação."
+
+#: src/impala/conf.py:100
+msgid "Path to the private key file."
+msgstr "Caminho para o arquivo de chave privada."
+
+#: src/impala/conf.py:107
+msgid "Path to the public certificate file."
+msgstr "Caminho para o arquivo de certificado público."
+
+#: src/impala/conf.py:114
+msgid "Choose whether Hue should validate certificates received from the server."
+msgstr "Selecione se o Hue deve validar os certificados recebidos do servidor."
+
+#: src/impala/conf.py:134
+msgid "No available Impalad to send queries to."
+msgstr "Nenhum Impalad disponível para enviar consultas."
+
+#: src/impala/dashboards.py:201
+msgid "Page saved !"
+msgstr "Página salva!"
+
+#: src/impala/dashboards.py:203
+msgid "There is no dashboard to search."
+msgstr "Não há painel para pesquisar."
+
+#: src/impala/templates/dashboard.mako:31
+msgid "Grid Results"
+msgstr "Resultados da grade"
+
+#: src/impala/templates/dashboard.mako:39
+msgid "Text Facet"
+msgstr "Facetas textuais"
+
+#: src/impala/templates/dashboard.mako:46
+msgid "Pie Chart"
+msgstr "Gráfico de pizza"
+
+#: src/impala/templates/dashboard.mako:53
+msgid "Bar Chart"
+msgstr "Gráfico de barras"
+
+#: src/impala/templates/dashboard.mako:60
+msgid "Line Chart"
+msgstr "Gráfico de linhas"
+
+#: src/impala/templates/dashboard.mako:67
+msgid "Timeline"
+msgstr "Linha do tempo"
+
+#: src/impala/templates/dashboard.mako:74
+msgid "Filter Bar"
+msgstr "Barra do filtro"
+
+#: src/impala/templates/dashboard.mako:81
+msgid "Map"
+msgstr "Mapa"
+
+#: src/impala/templates/dashboard.mako:91
+msgid "Edit"
+msgstr "Editar"
+
+#: src/impala/templates/dashboard.mako:93
+msgid "Save"
+msgstr "Salvar"
+
+#: src/impala/templates/dashboard.mako:93
+msgid "Saving..."
+msgstr "Salvando..."
+
+#: src/impala/templates/dashboard.mako:94
+msgid "New"
+msgstr "Novo"
+
+#: src/impala/templates/dashboard.mako:99
+msgid "Select a database and a table"
+msgstr "Selecione um banco de dados e uma tabela"
+
+#: src/impala/templates/dashboard.mako:101
+msgid "Choose a database..."
+msgstr "Escolha um banco de dados..."
+
+#: src/impala/templates/dashboard.mako:102
+msgid "Choose a table..."
+msgstr "Escolha uma tabela..."
+
+#: src/impala/templates/dashboard.mako:104
+msgid "Manually refresh the dropdowns"
+msgstr "Atualizar as listas suspensas manualmente"
+
+#: src/impala/templates/dashboard.mako:109
+msgid "Search"
+msgstr "Pesquisar"
+
+#: src/impala/templates/dashboard.mako:139
+msgid "Filter fields"
+msgstr "Campos do filtro"
+
+#: src/impala/templates/dashboard.mako:147
+msgid "Field Name"
+msgstr "Nome do campo"
+
+#: src/impala/templates/dashboard.mako:169
+msgid "Your search did not match any documents."
+msgstr "Sua pesquisa não encontrou nenhum documento."
+
+#: src/impala/templates/dashboard.mako:243
+msgid "Exclude this value"
+msgstr "Excluir este valor"
+
+#: src/impala/templates/dashboard.mako:377
+msgid "There are currently no filters applied."
+msgstr "No momento, não há filtros aplicados."
+
+#: src/impala/templates/dashboard.mako:382
+#: src/impala/templates/dashboard.mako:392
+msgid "field"
+msgstr "campo"
+
+#: src/impala/templates/dashboard.mako:385
+msgid "value"
+msgstr "valor"
+
+#: src/impala/templates/dashboard.mako:396
+msgid "from"
+msgstr "de"
+
+#: src/impala/templates/dashboard.mako:398
+msgid "to"
+msgstr "para"
+
+#: src/impala/templates/dashboard.mako:611
+msgid "Oops, no database found!"
+msgstr "Oops, nenhum banco de dados encontrado!"
+
+#: src/impala/templates/dashboard.mako:635
+msgid "Oops, no table found!"
+msgstr "Opa, nenhuma tabela encontrada!"
+

+ 136 - 0
apps/hive/src/hive/locale/zh_CN/LC_MESSAGES/django.po

@@ -0,0 +1,136 @@
+# Chinese (China) translations for Hue.
+# Copyright (C) 2013 Cloudera, Inc
+# This file is distributed under the same license as the Hue project.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Hue VERSION\n"
+"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"POT-Creation-Date: 2018-03-07 10:05-0800\n"
+"PO-Revision-Date: 2013-10-28 10:31-0700\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: zh_CN <LL@li.org>\n"
+"Plural-Forms: nplurals=1; plural=0\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 0.9.6\n"
+
+#: src/impala/api.py:50
+msgid "Successfully invalidated metadata"
+msgstr "已成功使元数据无效"
+
+#: src/impala/api.py:64
+#, python-format
+msgid "Successfully refreshed metadata for `%s`.`%s`"
+msgstr "已成功刷新 `%s`.`%s` 元数据"
+
+#: src/impala/api.py:79
+msgid "get_exec_summary requires a valid query_history_id"
+msgstr "get_exec_summary 需要有效的 query_history_id"
+
+#: src/impala/api.py:101
+msgid "get_runtime_profile requires a valid query_history_id"
+msgstr "get_runtime_profile 需要有效的 query_history_id"
+
+#: src/impala/conf.py:39
+msgid "Host of the Impala Server."
+msgstr "Impala 服务器主机。"
+
+#: src/impala/conf.py:44
+msgid "Port of the Impala Server."
+msgstr "Impala 服务器端口。"
+
+#: src/impala/conf.py:50
+msgid "Kerberos principal name for Impala. Typically 'impala/hostname.foo.com'."
+msgstr "Impala 的 Kerberos 主体名称。通常为“impala/hostname.foo.com”。"
+
+#: src/impala/conf.py:56
+msgid "Turn on/off impersonation mechanism when talking to Impala."
+msgstr "与 Impala 对话时打开/关闭模拟机制。"
+
+#: src/impala/conf.py:62
+msgid ""
+"Number of initial rows of a resultset to ask Impala to cache in order to "
+"support re-fetching them for downloading them. Set to 0 for disabling the"
+" option and backward compatibility."
+msgstr "要求 Impala 缓存的结果集初始行数,用于支持重新获取这些结果并进行下载。设置为 0 将禁用选项和向后兼容性。"
+
+#: src/impala/conf.py:72
+msgid "Timeout in seconds for Thrift calls."
+msgstr "Thrift 调用的超时时间(以秒为单位)。"
+
+#: src/impala/conf.py:76
+msgid ""
+"Hue will try to close the Impala query when the user leaves the editor "
+"page. This will free all the query resources in Impala, but also make its"
+" results inaccessible."
+msgstr "当用户离开编辑器页面时,Hue 将尝试关闭 Impala 查询。这将释放 Impala 中的所有查询资源,但也会让其结果变得无法访问。"
+
+#: src/impala/conf.py:84
+msgid ""
+"If QUERY_TIMEOUT_S > 0, the query will be timed out (i.e. cancelled) if "
+"Impala does not do any work (compute or send back results) for that query"
+" within QUERY_TIMEOUT_S seconds."
+msgstr ""
+"如果 QUERY_TIMEOUT_S > 0,则当 Impala 在 QUERY_TIMEOUT_S "
+"秒内没有对查询执行任何操作(计算或发回结果)时,该查询将超时(例如,取消)。"
+
+#: src/impala/conf.py:92
+msgid ""
+"If SESSION_TIMEOUT_S > 0, the session will be timed out (i.e. cancelled) "
+"if Impala does not do any work (compute or send back results) for that "
+"session within SESSION_TIMEOUT_S seconds. Default: 30 min."
+msgstr ""
+"如果 SESSION_TIMEOUT_S > 0,则当 Impala 在 SESSION_TIMEOUT_S 秒内"
+"没有对该会话执行任何操作(计算或发回结果)时,"
+"该会话将超时(例如,取消)。默认值:30 分钟"
+
+#: src/impala/conf.py:102
+msgid ""
+"A comma-separated list of white-listed Impala configuration properties "
+"that users are authorized to set."
+msgstr "授权用户设置的空白页 Impala 配置属性的逗号分隔列表。"
+
+#: src/impala/conf.py:107
+msgid "Impala configuration directory, where impala_flags is located."
+msgstr "impala_flags 所在的 Impala 配置目录。"
+
+#: src/impala/conf.py:113
+msgid "SSL configuration for the server."
+msgstr "服务器的 SSL 配置。"
+
+#: src/impala/conf.py:117
+msgid "SSL communication enabled for this server."
+msgstr "已启用此服务器的 SSL 通信。"
+
+#: src/impala/conf.py:124
+msgid "Path to Certificate Authority certificates."
+msgstr "证书颁发机构颁发证书的路径。"
+
+#: src/impala/conf.py:131
+msgid "Path to the private key file, e.g. /etc/hue/key.pem"
+msgstr "私钥文件的路径,例如 /etc/hue/key.pem"
+
+#: src/impala/conf.py:138
+msgid "Path to the public certificate file, e.g. /etc/hue/cert.pem"
+msgstr "公用证书文件的路径,例如 /etc/hue/cert.pem"
+
+#: src/impala/conf.py:145
+msgid "Choose whether Hue should validate certificates received from the server."
+msgstr "选择 Hue 是否应验证从服务器收到的证书。"
+
+#: src/impala/conf.py:158
+msgid "Auth username of the hue user used for authentications."
+msgstr "用于身份验证的 Hue 用户的身份验证用户名。"
+
+#: src/impala/conf.py:172
+msgid "LDAP/PAM/.. password of the hue user used for authentications."
+msgstr "Hue 用户用于身份验证的 LDAP/PAM/.. 密码。"
+
+#: src/impala/conf.py:178
+msgid ""
+"Execute this script to produce the auth password. This will be used when "
+"`auth_password` is not set."
+msgstr "执行此脚本以生成身份验证密码。这将用于未设置 `auth_password` 的情况。"

+ 16 - 0
apps/hive/src/hive/models.py

@@ -0,0 +1,16 @@
+#!/usr/bin/env python
+# Licensed to Cloudera, Inc. under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  Cloudera, Inc. licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.

+ 23 - 0
apps/hive/src/hive/settings.py

@@ -0,0 +1,23 @@
+# Licensed to Cloudera, Inc. under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  Cloudera, Inc. licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+DJANGO_APPS = ['hive']
+NICE_NAME = 'hive'
+MENU_INDEX = 11
+ICON = 'impala/art/icon_beeswax_48.png'
+
+REQUIRES_HADOOP = False
+IS_URL_NAMESPACED = True

二进制
apps/hive/src/hive/static/hive/art/icon_hive_24.png


二进制
apps/hive/src/hive/static/hive/art/icon_hive_48.png


+ 29 - 0
apps/hive/src/hive/static/hive/help/index.html

@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html lang="en-us" xml:lang="en-us">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<link rel="stylesheet" type="text/css" href="commonltr.css"/>
+<title>Hive Query UI</title>
+</head>
+<body id="topic_5"><a name="topic_5"><!-- --></a>
+
+
+
+  <h1 class="title topictitle1">Hive Query UI </h1>
+
+
+  <div class="body conbody">
+
+    <p class="p"> The Impala Query UI application enables you to perform queries
+      on Apache Hadoop data stored in HDFS or HBase using Impala. For information about
+      Impala, see <a class="xref" href="http://impala.io" target="_blank">Installing and
+        Using Impala</a>. You can create, run, and manage queries, and download the
+      results in a Microsoft Office Excel worksheet file or a comma-separated values file. </p>
+  </div>
+
+<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>
+
+</body>
+</html>

+ 16 - 0
apps/hive/src/hive/tests.py

@@ -0,0 +1,16 @@
+#!/usr/bin/env python
+# Licensed to Cloudera, Inc. under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  Cloudera, Inc. licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.

+ 22 - 0
apps/hive/src/hive/urls.py

@@ -0,0 +1,22 @@
+#!/usr/bin/env python
+# Licensed to Cloudera, Inc. under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  Cloudera, Inc. licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from django.conf.urls import url
+
+
+urlpatterns = [
+]

+ 21 - 7
package-lock.json

@@ -4908,12 +4908,14 @@
         "balanced-match": {
           "version": "1.0.0",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "brace-expansion": {
           "version": "1.1.11",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "balanced-match": "^1.0.0",
             "concat-map": "0.0.1"
@@ -4928,17 +4930,20 @@
         "code-point-at": {
           "version": "1.1.0",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "concat-map": {
           "version": "0.0.1",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "console-control-strings": {
           "version": "1.1.0",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "core-util-is": {
           "version": "1.0.2",
@@ -5055,7 +5060,8 @@
         "inherits": {
           "version": "2.0.3",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "ini": {
           "version": "1.3.5",
@@ -5067,6 +5073,7 @@
           "version": "1.0.0",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "number-is-nan": "^1.0.0"
           }
@@ -5081,6 +5088,7 @@
           "version": "3.0.4",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "brace-expansion": "^1.1.7"
           }
@@ -5088,12 +5096,14 @@
         "minimist": {
           "version": "0.0.8",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "minipass": {
           "version": "2.3.5",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "safe-buffer": "^5.1.2",
             "yallist": "^3.0.0"
@@ -5112,6 +5122,7 @@
           "version": "0.5.1",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "minimist": "0.0.8"
           }
@@ -5192,7 +5203,8 @@
         "number-is-nan": {
           "version": "1.0.1",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "object-assign": {
           "version": "4.1.1",
@@ -5204,6 +5216,7 @@
           "version": "1.4.0",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "wrappy": "1"
           }
@@ -5325,6 +5338,7 @@
           "version": "1.0.2",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "code-point-at": "^1.0.0",
             "is-fullwidth-code-point": "^1.0.0",