Red de conocimiento informático - Aprendizaje de programación - ¿Qué paquetes jar se requieren para las funciones personalizadas de Hive? ¿Por qué utilizar Hive? Después de cargar un conjunto de datos de 6 mil millones de filas (longitud, latitud, hora, valor de datos, altitud) en MySQL, el sistema falló con pérdida de datos. Parte de la razón puede ser que nuestra estrategia inicial fue almacenar todos los datos en una tabla. Más tarde, ajustamos nuestra estrategia y dividimos la tabla por conjunto de datos y parámetros. Aunque esto ayudó, también generó un consumo adicional que no estábamos dispuestos a aceptar. Entonces, decidimos intentar utilizar la tecnología ApacheHive. Instalamos Hive 0.5 20, usando CDHv3 y ApacheHadoop (0202 320). CDHv3 también incluye muchas otras herramientas relacionadas, incluidas Sqoop y Hue, que se identifican en nuestra arquitectura, como se muestra en la parte inferior de la Figura 23-3. Usamos ApacheSqoop para volcar los datos en Hive, luego escribimos un contenedor ApacheOODT que permite a Hive consultar los datos según restricciones de espacio/tiempo y luego proporcionar los resultados a RCMET y otros usuarios (como se muestra en la parte central de la Figura 23-2). ). Tenemos cinco máquinas, incluida la configuración maestro/esclavo que se muestra en la figura, conectadas a través de una red privada que ejecuta GigE. Para satisfacer estas necesidades, todas las noches volcamos terabytes de datos de servidores web y registros con formato personalizado a través de Flume desde bases de datos MySQL en cientos de servidores. Estos datos ayudan a respaldar muchas de las organizaciones de la empresa, como administración, publicidad, atención al cliente, desarrollo de productos y operaciones, y más. Para los datos históricos, conservamos todos los datos creados por MySQL el primer día de cada mes como datos de partición y conservamos archivos de registro durante más de 30 días. Photobucket utiliza un marco ETL personalizado para migrar datos desde una base de datos MySQL a Hive. Los datos del archivo de registro se escriben en HDFS mediante Flume y se procesan de acuerdo con procesos predeterminados de Hive. Hive admite qué administración de usuarios confía en el uso de Hadoop para proporcionar informes sobre el estado general de la empresa. Hive nos permite analizar datos de bases de datos estructuradas y datos de flujo de clics no estructurados, así como leer los formatos de datos involucrados en el negocio. El negocio de la publicidad utiliza Hive para examinar datos históricos para hacer predicciones y definir cuotas para la orientación de anuncios. El desarrollo de producto es sin duda el usuario del negocio que genera consultas más específicas. Hive es importante para cualquier base de usuarios que cambie con el tiempo o con el tiempo porque nos permite determinar la relevancia de nuevos productos en un entorno de usuarios que cambia rápidamente mediante la ejecución de pruebas A/B sobre datos de sexo actuales e históricos. En Photobucket, el objetivo más importante es proporcionar a los usuarios el mejor sistema de su clase. Desde una perspectiva operativa, Hive se utiliza para agregar datos generados en múltiples dimensiones. Es importante comprender los medios, los usuarios y los dominios de referencia más populares de su empresa. Controlar los costos es importante para cualquier organización. Hive se puede utilizar para identificar y analizar dichos usuarios maliciosos para determinar cuáles cumplen con nuestros Términos de servicio y cuáles no. Hive también se puede utilizar para realizar pruebas A/B de algunas operaciones para identificar nuevos requisitos de hardware y generar cálculos de ROI. La capacidad de Hive para liberar a los usuarios del código MapReduce subyacente significa que se pueden obtener respuestas en horas o días en lugar de semanas. Base de datos en Hive El concepto de base de datos en Hive es esencialmente solo un directorio de tablas o espacios de nombres. Sin embargo, esto es útil para clústeres grandes con muchos grupos y usuarios, ya que evita conflictos de nombres de tablas. Las bases de datos se utilizan a menudo para organizar tablas de producción en grupos lógicos. Si el usuario no especifica una base de datos explícitamente, se utilizará la base de datos predeterminada.

¿Qué paquetes jar se requieren para las funciones personalizadas de Hive? ¿Por qué utilizar Hive? Después de cargar un conjunto de datos de 6 mil millones de filas (longitud, latitud, hora, valor de datos, altitud) en MySQL, el sistema falló con pérdida de datos. Parte de la razón puede ser que nuestra estrategia inicial fue almacenar todos los datos en una tabla. Más tarde, ajustamos nuestra estrategia y dividimos la tabla por conjunto de datos y parámetros. Aunque esto ayudó, también generó un consumo adicional que no estábamos dispuestos a aceptar. Entonces, decidimos intentar utilizar la tecnología ApacheHive. Instalamos Hive 0.5 20, usando CDHv3 y ApacheHadoop (0202 320). CDHv3 también incluye muchas otras herramientas relacionadas, incluidas Sqoop y Hue, que se identifican en nuestra arquitectura, como se muestra en la parte inferior de la Figura 23-3. Usamos ApacheSqoop para volcar los datos en Hive, luego escribimos un contenedor ApacheOODT que permite a Hive consultar los datos según restricciones de espacio/tiempo y luego proporcionar los resultados a RCMET y otros usuarios (como se muestra en la parte central de la Figura 23-2). ). Tenemos cinco máquinas, incluida la configuración maestro/esclavo que se muestra en la figura, conectadas a través de una red privada que ejecuta GigE. Para satisfacer estas necesidades, todas las noches volcamos terabytes de datos de servidores web y registros con formato personalizado a través de Flume desde bases de datos MySQL en cientos de servidores. Estos datos ayudan a respaldar muchas de las organizaciones de la empresa, como administración, publicidad, atención al cliente, desarrollo de productos y operaciones, y más. Para los datos históricos, conservamos todos los datos creados por MySQL el primer día de cada mes como datos de partición y conservamos archivos de registro durante más de 30 días. Photobucket utiliza un marco ETL personalizado para migrar datos desde una base de datos MySQL a Hive. Los datos del archivo de registro se escriben en HDFS mediante Flume y se procesan de acuerdo con procesos predeterminados de Hive. Hive admite qué administración de usuarios confía en el uso de Hadoop para proporcionar informes sobre el estado general de la empresa. Hive nos permite analizar datos de bases de datos estructuradas y datos de flujo de clics no estructurados, así como leer los formatos de datos involucrados en el negocio. El negocio de la publicidad utiliza Hive para examinar datos históricos para hacer predicciones y definir cuotas para la orientación de anuncios. El desarrollo de producto es sin duda el usuario del negocio que genera consultas más específicas. Hive es importante para cualquier base de usuarios que cambie con el tiempo o con el tiempo porque nos permite determinar la relevancia de nuevos productos en un entorno de usuarios que cambia rápidamente mediante la ejecución de pruebas A/B sobre datos de sexo actuales e históricos. En Photobucket, el objetivo más importante es proporcionar a los usuarios el mejor sistema de su clase. Desde una perspectiva operativa, Hive se utiliza para agregar datos generados en múltiples dimensiones. Es importante comprender los medios, los usuarios y los dominios de referencia más populares de su empresa. Controlar los costos es importante para cualquier organización. Hive se puede utilizar para identificar y analizar dichos usuarios maliciosos para determinar cuáles cumplen con nuestros Términos de servicio y cuáles no. Hive también se puede utilizar para realizar pruebas A/B de algunas operaciones para identificar nuevos requisitos de hardware y generar cálculos de ROI. La capacidad de Hive para liberar a los usuarios del código MapReduce subyacente significa que se pueden obtener respuestas en horas o días en lugar de semanas. Base de datos en Hive El concepto de base de datos en Hive es esencialmente solo un directorio de tablas o espacios de nombres. Sin embargo, esto es útil para clústeres grandes con muchos grupos y usuarios, ya que evita conflictos de nombres de tablas. Las bases de datos se utilizan a menudo para organizar tablas de producción en grupos lógicos. Si el usuario no especifica una base de datos explícitamente, se utilizará la base de datos predeterminada.

El siguiente ejemplo muestra cómo crear una base de datos: hivegt;CREATEDATABASEfinancials; si la base de datos financiera ya existe, se generará un mensaje de error. En este caso, puede evitar generar el mensaje de error utilizando la siguiente declaración: hivegt;CRETEDATABASEIFNOTEXISTSfinancials; aunque normalmente se generará un mensaje de advertencia si la base de datos con el mismo nombre ya existe, la cláusula IFNOTEXISTS es útil para quienes necesitan ejecutarla. El estado financiero de IFNOTEXISTS antes de continuar. Muy útil para personas que crean bases de datos. La cláusula IFNOTEXISTS es útil cuando necesita crear la base de datos sobre la marcha antes de continuar. La palabra clave SCHEMA se puede utilizar en lugar de la palabra clave TABLE en todos los comandos relacionados con la base de datos. Utilice el siguiente comando para ver las bases de datos contenidas en Hive: hivegt; SHOWDATABASES; defaultfinancialshivegt; CREATEDATABASEhuman_resources; SHOWDATABASES; defaultfinancialshuman_resources; expresión de El concepto se introduce en la Sección 6.2.3 "Me gusta y similares". El siguiente ejemplo enumera todos los nombres de bases de datos que comienzan con la letra h y terminan con otros caracteres (es decir, el significado de la parte .*):hivegt;SHOWDATABASESLIKE'h.*';human_resourceshivegt;Hive crea un directorio para cada base de datos. Las tablas de la base de datos se almacenarán como subdirectorios del directorio de la base de datos. La excepción son las tablas de la base de datos predeterminada, que a su vez no tiene su propio catálogo. El directorio de la base de datos se encuentra después del directorio de nivel superior especificado por la propiedad hive.metastore.warehouse.dir, como se describió anteriormente en la Sección 2.5.1, "Configuración del modo local" y la Sección 2.5.2, "Modo distribuido y pseudodistribuido". Configuración" describe. Sección 2.5.2, “Configuraciones de modo distribuido y modo pseudodistribuido”. Suponiendo que el usuario usa la configuración predeterminada de este elemento de configuración (es decir, /user/hive/warehouse), cuando creemos la base de datos financiera, Hive creará un directorio /user/hive/warehouse/financials.db. Tenga en cuenta que el nombre del directorio de la base de datos es .db y el nombre termina en .db. El usuario puede cambiar esta ubicación predeterminada usando el siguiente comando: hivegt;CREATEDATABASEfinancialsgt;LOCATION'/my/preferred/directory'; El usuario también puede agregar una descripción de la base de datos, a la que se puede acceder mediante el comando DESCRIBEDATABASE para ver la información. hivegt;CREATEDATABASEfinancialsgt;COMMENT'Holdsallfinancialtables';hivegt;DESCRIBEDATABASEfinancials;financialsHoldsallfinancialtableshdfs://master-server/user/hive/warehouse/financials.db En el ejemplo anterior, podemos notar que la declaración DESCRIEBDATABASE también muestra el directorio de archivos donde se encuentra la base de datos está ubicado El camino a la ubicación. En este ejemplo, el formato URI es hdfs. maprfs si MapR está instalado.