Sunday, November 20, 2016

Cloudera Media Móvil

Me encontré con este artículo: la que se menciona la forma de calcular la media móvil utilizando Hadoop. Por favor, observe que todos los registros de una clave deben ser ordenados y luego reducidos. Ahora se supone que los registros de una clave particular, se distribuyen en todos los fragmentos de clúster de Mongo. En tal caso, ¿sería posible calcular la media móvil entiendo que no Mongo reducir el mapa en cada nodo. El requisito primordial para resolver este problema es asegurarse de que todos los emite para un mapa reducirse en una sola fase reducirá. Si ése es el caso, entonces Mongo MapReduce nunca será capaz de resolver este tipo de problemas. ¿Hay algún malentendido básico Además, con miles de millones de filas y petabytes de datos, por qué es que Hadoop Reducir accidente doesnt eliminación progresiva de memoria, ya que tiene que lidiar con al menos varios TB de datos cartográficos. preguntó 16 de de mayo de 13 a las 07:31 ¿Puede explicar por qué accidente Hadoop doesn39t de memoria para ese cálculo Desde mi entender, todo el reducir sucederá en un nodo, donde se reducirán todos los registros de una clave. Esto debe resultar en gran sobrecarga de la memoria en ese nodo, ya que TB de datos necesitan estar presentes allí. ¿Cómo maneja Hadoop tan enorme cantidad de datos ndash P. Prasad 16 de de mayo de 13 a las 08:29 Creo que, a diferencia de MongoDB, hadoop, al igual que SQL al procesar una gran combinación, va a escribir cosas en el disco y leer sólo cuando sea necesario con el sistema operativo mediante un intercambio bajo como titular de la memoria temporal para ciertas cosas, probablemente. MongoDB hace algo más en la RAM antes de escribir en el disco como tal, será rescatar fácilmente ndash Sammaye 16 de de mayo de 13 a las 8: 37Cloudera Empleo en Londres En la tabla siguiente se ve en las estadísticas de los conocimientos y la experiencia de los productos y / o servicios Cloudera en puestos de trabajo que se anuncia para la región de Londres. Se incluye una guía de los salarios que se ofrecen en puestos de trabajo de TI que han citado Cloudera durante los 3 meses al 13 de octubre 2016 y una comparación con el mismo periodo en los 2 años anteriores. Las siguientes figuras representan el mercado de trabajo en términos generales y no son representativos de los salarios dentro de Cloudera, Inc. 3 meses al 13 Oct el año 2016 el mismo período de 2015 Cloudera Empleo tendencia de la demanda en Londres La tendencia de la demanda de los anuncios de empleo en toda la región de Londres citando como Cloudera proporción de todos los puestos de trabajo con una cerilla en la categoría proveedores. Cloudera Salario tendencia en Londres Esta tabla proporciona el promedio móvil de 3 meses para los salarios citados en trabajos permanentes de TI citan cloudera a través de la región de Londres. Cloudera Salario histograma en Londres Esta tabla proporciona un histograma de sueldos para puestos de trabajo de TI citan cloudera a través de la región de Londres durante los últimos 3 meses al 13 de octubre de 2016. Ubicaciones cloudera trabajo en Londres La tabla a continuación examina la demanda y proporciona una guía de los salarios medios citados en puestos de trabajo de TI citan Cloudera dentro de la región de Londres durante los 3 meses al 13 de octubre de 2016. la columna Posición cambio proporciona una indicación de la variación de la demanda dentro de cada ubicación basada en el mismo periodo de 3 meses del año pasado. Localización (Instrucciones ver estadísticas y tendencias detalladas) Posición Cambio en el mismo período del año pasado a juego Permanente de TI Trabajo Anuncios salario medio Última 3 MonthsCloudera Ingeniería Blog de media móvil simple, de ordenación secundario, MapReduce (Parte 3) Esta es la última pieza de una marca tridimensional parte serie blog. Si desea ver las partes anteriores de esta serie por favor utilice el siguiente enlace: Anteriormente he explicado cómo utilizar Excel y R como las herramientas de análisis para el cálculo de la media móvil simple de un pequeño conjunto de los precios de cierre. En esta última pieza de la serie de tres partes, el blog, voy a ahondar en el uso de MapReduce para encontrar la media móvil simple de nuestro pequeño conjunto de datos de la muestra. A continuación, te mostraré cómo usar el mismo código, usted será capaz de calcular la media móvil simple de cada precio de cierre desde 1980. Abajo de la madriguera de conejo con Hadoop En los ejemplos anteriores nos dimos un vistazo a calcular la media móvil simple de una cantidad relativamente pequeña de datos. Para una gran cantidad de análisis, Excel y R son herramientas muy eficaces, pero a medida que se escala hacia gigabyte, terabyte, y almacenes de datos petabyte nos encontramos con algunos problemas con la localidad de datos, velocidades de disco, y la velocidad de procesamiento. Para ilustrar estos factores permite echar una máquina mítica que tenía un solo disco 1 petabyte, que operaba de manera similar a velocidades de disco en la actualidad. A los efectos de este ejemplo también utilizar una velocidad de lectura de 40 MB / s. Digamos que su nuestro trabajo para escanear a través de estos datos y producir una media móvil simple, el procesador no impide el cálculo, y que puede sostener un cálculo ventana en movimiento a través de los datos al completo 40 MB / s. Supongamos también que los datos se solucionó con anterioridad y que sólo tuvimos que realizar una exploración secuencial esto maximiza la velocidad de transferencia de datos desde el disco y podría entregar constantemente 40MB / s para la canalización de procesamiento. Sobre la base de Jeff decanos 12 números cada ingeniero debe saber deslice esta es una configuración plausible. En este rendimiento nuestro sencillo cálculo de la media móvil de 1 petabyte de datos tomaría unos 310 días en completarse. Para la mayoría de las situaciones de este costo operativo, en términos de tiempo, hace que sea razonable considerar. Afortunadamente, la mecánica de HDFS y MapReduce mitigar estos factores en el que podemos hacer de este problema un tiempo lineal y la función de capital para ayudarnos a decidir el número de máquinas que queremos poner en práctica para llevar a cabo de manera eficiente este simple escaneo de media móvil. En el sencillo movimiento por encima de la media ejemplo hemos descuidado a considerar las limitaciones de: Almacenamiento del petabyte de datos en hardware no-mítico. Clasificación de la petabyte de datos. Teniendo en cuenta un error de hardware durante los 310 días de tiempo de procesamiento. Normalmente, las aplicaciones de series de tiempo necesario para analizar los datos en algún momento, lo que crea grandes montañas para escalar, si se quiere acercarse a grandes volúmenes de datos de series de tiempo en los sistemas de hoy en día. Estaban viendo las fuentes de datos multi-petabyte de varios terabytes y en el dominio de series de tiempo todos los días, incluyendo y en cada uno de estos dominios el escenario anterior es un desafío muy real de abordar. HDFS resuelve los problemas de almacenamiento y fallo por encima, pero qué pasa con los problemas de clasificación y procesamiento de Ordenación de grandes cantidades de datos en sí es un problema trivial, pero es tratable con algunos trucos en MapReduce. Vamos a echar un vistazo a verdadero código MapReduce que podemos descargar para compilar y producir nuestra propia media móvil simple y escalable, para resolver algunos de estos puntos de dolor. Media móvil simple en MapReduce Normalmente una aplicación MapReduce se compone de dos funciones: (adivinaste) una función de mapa y una función de reducir. En el mundo de la programación Java creamos una clase de mapa y una clase de reducir, cada uno con métodos heredan útiles para sus propósitos respetuosas. Utilizamos el modelo de programación MapReduce porque está construido para mitigar los problemas de concurrencia en nuestros algoritmos y obtenemos nuestra paralelismo escalable relativamente sin dolor. La función de mapa puede implicar código que realiza una operación de par por-clave-valor, pero su principal operación lógica es que los datos del grupo de teclas. Una forma muy fácil pensar en una función de mapa es pensar en ella como una proyección lógica de los datos o de una cláusula group by. La función de reducir se utiliza para tomar estos grupos (individualmente) y ejecutar un proceso a través de los valores que se agruparon. operaciones comunes en las funciones reducir incluyen: En nuestro ejemplo simple media móvil, sin embargo, nosotros no operan sobre una base por valor en concreto, ni tampoco producimos un agregado a través de todos los valores. Nuestra operación en el sentido agregada implica una ventana deslizante, que lleva a cabo sus operaciones en un subconjunto de los datos en cada paso. También tenemos que tener en cuenta que los puntos de nuestras series temporales de datos no están garantizados para llegar al reducir el fin y necesitan ser sorted8211mentioned en las secciones anteriores. Esto se debe a múltiples funciones con la lectura de mapas múltiples secciones del MapReduce de datos de origen no impone ninguna orden en los pares de valores clave que se agrupan en la partición predeterminada y esquemas de clasificación. No es el escenario en el que se ha regulado de datos con particiones, pero por el bien de este ejemplo se va a tratar con las series temporales de datos sin ordenar más variedad de jardín. Vamos a echar un primer paso en cómo podríamos diseñar este simple movimiento MapReduce trabajo promedio. Queremos agrupar todos uno saldos ajustados a valores cercanos juntos para poder aplicar la simple operación de media móvil sobre las series temporales de datos ordenados. Queremos emitir cada serie temporal valor de par de claves introducido en un símbolo de la acción de agrupar estos valores. En la fase de reducir podemos ejecutar una operación, aquí la media móvil simple, sobre los datos. Dado que los datos más que probablemente no llegará al reductor en forma ordenada, así que ordenar los datos antes de poder calcular la media móvil simple. Una forma común para ordenar los datos es para cargar los datos en la memoria en una estructura de datos tal como un montón, muy similar a cómo se hace esto en un programa java normal. En este caso también utilizar Javas clase cola de prioridad para ordenar nuestros datos. También tenemos que considerar la cantidad de memoria utilizada por las series temporales de datos entrantes durante la clasificación, ya que es un factor que limita la cantidad de datos que podemos clasificar. En este diseño hay que cargar todos los datos de series de tiempo antes de poder comenzar a procesar y si la cantidad de datos para ordenar supera el tamaño de almacenamiento dinámico disponible tenemos un problema. Un ejemplo de esta aplicación está alojado en GitHub: Para ejecutar este código en su propio clúster Hadoop, descarga CDH de Cloudera y la configuración de un clúster de pseudo-distribuido 8211which es un solo nodo de Hadoop. modo pseudo-distribuido es una gran manera de probar código con Hadoop. Descarga siguiente y compilar el código de media móvil en un frasco. Para descargar el código directamente desde github (en la cáscara en MacOSX, ventana ssh terminal en Linux, o mingw32 para Win32) we8217ll utilizar el comando: Nuestro primer paso es una solución decente, pero estaban limitados por nuestra máquina virtual de Java (JVM) niño tamaño de la pila y estamos tomando tiempo para ordenar manualmente los datos mismos. Con algunos cambios de diseño, podemos resolver estos dos problemas que se aprovechan de algunas propiedades inherentes de MapReduce. En primer lugar queremos mirar el caso de clasificar los datos en la memoria de cada reductor. En la actualidad tenemos que asegurarnos de que no enviar más datos a un solo reductor de los que caben en la memoria. La forma en que actualmente podemos controlar esto es dar a cada niño reductor JVM más del montón y / o compartimentar aún más nuestras series temporales de datos en la fase mapa. En este caso casarse partición aún más por el tiempo, rompiendo nuestros datos en ventanas más pequeñas de tiempo. A diferencia de promover la partición de los datos, otro enfoque para este problema es permitir Hadoop para ordenar los datos para nosotros en qué se llama la fase aleatoria de MapReduce. Si los datos llegan a un reductor ya en orden clasificado podemos bajar la huella de memoria y reducir el número de bucles a través de los datos con sólo mirar los siguientes N muestras para cada cálculo de media móvil simple. Esto nos lleva al aspecto crucial de este artículo, que se llama la baraja secundaria mecánico tipo. La clasificación es algo que podemos dejar que haga Hadoop Hadoop para nosotros y ha demostrado ser muy bueno en la clasificación de grandes cantidades de datos, ganando la competencia Ordenar Gray en 2008. En el uso de la mecánica de clasificación secundaria podemos resolver tanto nuestro acervo y ordenar los temas de manera bastante simple y de manera eficiente. Para emplear clasificación secundaria en nuestro código, tenemos que hacer que la clave de un compuesto de la clave natural y el valor natural. A continuación en la Figura 1 vemos un diagrama de cómo se vería visualmente. Figura-1: clave compuesta Diagrama La clave compuesta da Hadoop la información necesaria durante la reproducción aleatoria para llevar a cabo una especie no sólo en el symbol8221 8220stock, pero en la marca de tiempo también. La clase que ordena estas claves compuestas se llama comparador de llave o 8220CompositeKeyComparator8221 aquí. El comparador clave debe ordenar por la clave compuesta, que es la combinación de la clave natural y el valor natural. Podemos ver a continuación en la Figura 2, donde se está realizando una versión abstracta de clasificación secundaria en una clave compuesta de 2 enteros. Figura-2: CompositeKeyComparator clasificación de claves compuestas (teclas son números enteros). En la Figura 3 a continuación vemos un ejemplo más realista donde we8217ve cambiado la clave compuesta tener una cadena stock símbolo (K1) y una marca de tiempo (K2, que aparece como una fecha, pero en el código es mucho en ms). El diagrama ha clasificado los pares K / V por tanto 8220K1: Stock symbol8221 (clave natural) y 8220K2: tiempo stamp8221 (clave secundaria). Figura 3: CompositeKeyComparator en el trabajo sobre nuestras claves compuestas. clave compuesta ahora representado con un símbolo de cadena stock (K1) y una fecha (K2). Una vez ordenados we8217ve nuestros datos sobre la clave compuesta, ahora tenemos que dividir los datos para la fase de reducir. En la Figura-4 a continuación vemos cómo los datos de la Figura-3 anterior se ha dividido con el NaturalKeyPartitioner. Figura-4: Partición de la tecla natural con el NaturalKeyPartitioner. Una vez we8217ve repartió nuestros datos de los reductores de ahora pueden empezar a descargar los archivos de partición y comenzar su fase de mezcla. Inf-figura 5 a continuación vemos cómo el comparador de agrupación, o NaturalKeyGroupingComparator, se utiliza para hacer la llamada de que un reducir () sólo ve los datos agrupados de forma lógica significaba para esa clave compuesta. Figura-5: Agrupación Comparador la fusión de archivos de partición. El particionador y el comparador de agrupación para la clave compuesta deben considerar sólo la clave natural para la separación y la agrupación. A continuación se muestra una breve descripción de la media móvil simple código que se altera para utilizar la clasificación secundaria y que está alojado en GitHub. Si la notificación interminables, los nombres de las clases concuerdan estrechamente con la terminología utilizada en los diagramas anteriores y en los blancos Tom Hadoop: The Definitive Guide (Características capítulo 8 MapReduce) con el fin de hacer que el código sea más fácil de entender. NaturalKey 8211 lo que normalmente se utiliza como clave o grupo por el operador. En este caso, la clave natural es el símbolo de grupo o acciones, ya que necesitamos grupo potencialmente los datos de saldos sin ordenar antes de que podamos solucionar el problema y calcular la media móvil simple. Compuesto Key 8211 una llave que es una combinación de la tecla natural y el valor natural que queremos ordenar. 5 respuestas sobre ldquo media móvil simple, de ordenación secundario, MapReduce (Parte 3) rdquo truco fresco con la división clasificador / partidor. Por lo que yo puedo decir esto funciona muy bien hasta que la serie se convierten en extremadamente largo (creo que 30 años de datos de nivel de señal) 8211 parece que la partición por el tiempo puede ser muy complicado. ¿Sabe usted de cualquier cosa incorporada en hadoop como un partitioner8221 8220overlapping que puede escupir los mismos datos a varias particiones he experimentado con los creadores de mapas que duplican los valores a través de múltiples teclas, pero me pregunto si there8217s una forma más convencional de hacer esto. Evan, estás muerto en el tamaño de los datos en un solo espacio de claves. Golpeé este mismo problema cuando se trabaja en el proyecto openPDC para la NERC: Un sensor podría tener miles de millones de puntos en un lapso muy corto de tiempo, por lo que para los trabajos de prototipo que introdujimos cosas a un solo día (3,600,000ms): De una manera más versión compleja que habría utilizado intervalos de tiempo se superponen por lo que el asignador obtendría datos suficientes de keyspaces adyacentes para cubrir una única longitud de la ventana. Por ahora I8217d decir que está en el camino correcto con los valores duplicados. Sé que esto no está relacionado con medias móviles, pero cómo es exacto era la coincidencia de series de tiempo SAX utilizado en PDC he implementado algo como esto (excepto mediante la API de MapReduce 2), y en el bucle de la función de reducir (), siempre que el. método next () se llama en el iterador, se obtiene un nuevo valor, pero la clave también cambia milagrosamente. Más bien, la parte de la clave compuesta que no se utilizó como una clave natural (la marca de tiempo en este ejemplo) cambios. Esto fue bastante sorprendente. ¿Cómo ocurre esto Mensaje de navegación La adopción de Apache Hadoop en el Federal GovernmentCloudera Ingeniería Blog media móvil simple, de ordenación secundario, MapReduce (Parte 1) Introducción En esta serie el blog de tres partes Quiero echar un vistazo a la forma en que lo haría una media móvil simple con MapReduce y Apache Hadoop. Esta serie pretende mostrar cómo traducir un Excel común o función R en código java MapReduce con el acompañamiento de código de trabajo y los datos con los que jugar. La mayoría de los analistas pueden pasar varios meses antes de los datos de saldos y producen una hoja de cálculo de Excel que muestra una media móvil, pero haciendo esto en Hadoop pueden ser una tarea de enormes proporciones más. A pesar de series de tiempo como un tema está relativamente bien entendido, que quería tomar el enfoque de usar un tema simple de mostrar cómo se traduce en una potente aplicación paralela que puede calcular la media móvil simple para una gran cantidad de existencias de forma simultánea con MapReduce y Hadoop. También quiero demostrar la mecánica subyacente de utilizar la técnica sort148 147secondary con fase aleatoria Hadoop146s MapReduce, que we146ll ver es aplicable a una gran cantidad de diferentes dominios de aplicación, como las finanzas, el sensor y los datos genómicos. Este artículo debe ser accesible para el programador Hadoop principiante que ha hecho un poco de MapReduce en Java y está buscando una aplicación de MapReduce poco más difícil de piratear sucesivamente. En caso de que no you8217re muy familiarizado con Hadoop, here8217s alguna información de antecedentes y CDH. El código de este ejemplo se encuentra alojado en GitHub y está documentado para ilustrar cómo los distintos componentes trabajan juntos para lograr el efecto de ordenación secundario. Uno de los objetivos de este artículo es hacer que el código sea relativamente básico y accesible por la mayoría de los programadores. Así let146s echar un vistazo rápido a qué hora es la serie de datos y en el que se emplea en el mundo emergente rápida de datos a gran escala. Qué son los datos serie de series temporales de datos de tiempo se define como una secuencia de puntos de datos medidos típicamente en tiempos sucesivos espaciados a intervalos de tiempo uniformes. datos de series de tiempo se ve típicamente en las estadísticas, procesamiento de señales, y las finanzas, junto con otros campos. Ejemplos de datos de series de tiempo son el precio de cierre ajustado diaria de una acción en la Bolsa de Nueva York o lecturas de los sensores en una red de energía que ocurren 30 veces por segundo. series de tiempo como una clase general de problemas ha residido habitualmente en los ámbitos científicos y financieros. Sin embargo, debido a la explosión en curso de los datos disponibles, los datos de series de tiempo es cada vez más frecuente a través de una franja más amplia de industrias. sensores de la serie de tiempo se están integradas de forma ubicua en lugares como: It146s también ha demostrado que las formas en las imágenes se pueden descomponer en datos de series de tiempo que permite a las formas para lograr la rotación y la invariancia de escala que permite la comparación más fácil. Otro sector que muestra un crecimiento explosivo en la cantidad de series temporales de datos producidos es el reino genómica y la bioinformática. We146re ver el costo de secuenciar el genoma humano continuará disminuyendo rápidamente. cambio de presión a las tecnologías de almacenamiento y transformación de estos genomas. datos del genoma en su representación de texto (GATC) pueden ser representados como series de tiempo y por lo tanto estos problemas son accesibles por todas las técnicas pertinentes para el procesamiento de las series de tiempo. procesamiento de series de tiempo subyace en algunas técnicas utilizadas en el dominio de la genómica como 147motif encontrar 148 que puede ser abordado de la misma manera que el problema de la cuerda 147median 148. La comprensión de cómo podemos refactorizar los enfoques tradicionales de estos problemas de series de tiempo cuando se introducen en MapReduce puede potencialmente nos permitirá mejorar las técnicas de procesamiento y análisis en el momento oportuno. La industria financiera ha sido durante mucho tiempo interesado en los datos de series de tiempo y se han empleado los lenguajes de programación tales como R para ayudar a lidiar con este problema. El lenguaje de programación R fue creado específicamente para esta clase de data8211as mostrados en el ejemplo de R a continuación. Así que, ¿por qué un sector de crear un lenguaje de programación específico para una clase de datos cuando tecnologías como RDBMS han existido durante décadas en la realidad, la tecnología actual RDBMs tiene limitaciones cuando se trata de series temporales de datos de alta resolución. Estos factores limitantes incluyen: datos de series temporales de alta frecuencia procedentes de una variedad de fuentes pueden crear grandes cantidades de datos en muy poco tiempo RDBMS8217s tienden a no como el almacenamiento y la indexación de miles de millones de filas. RDBMS8217s-no distribuidos tienden a no como la ampliación de los cientos de GB146s, dejar que TB146s solos o PB146s. RDBMS8217s que pueden escalar en esos escenarios tienden a ser muy caro, o requieren grandes cantidades de problemas de hardware especializados con RDBMS8217s consultas de alta resolución de los datos de series de tiempo: Para procesar los datos de series de tiempo de alta resolución con un RDBMS we8217d tenga que utilizar una función agregada analítica en tándem con el movimiento de los predicados de ventana (por ejemplo: la cláusula 8220OVER8221) que da como resultado el rápido aumento de cantidades de trabajo que hacer como la granularidad de los datos de series de tiempo se pone más fina. resultados de la consulta no son perfectamente conmutables y no pueden hacer deslizamiento paso ventanas variables (por ejemplo: paso 5 segundos por cada ventana de movimiento) sin trabajo intermedia innecesaria significativa o funciones de SQL no estándar. Las consultas sobre RDBMS para series de tiempo para ciertas técnicas pueden ser incómodo y tienden a requerir subdivisión prematura de los datos y la reconstrucción costosa durante el procesamiento (ejemplo: La minería de datos, descomposiciones iSax) Debido a los factores antes mencionados, con grandes cantidades de rendimiento RDBMS datos de series temporales degrada al escalar. La mayoría de los cálculos de series temporales sencilla se realizan con everyone146s herramienta de análisis favorita: la hoja de cálculo. Sin embargo, cuando tenemos que mirar los datos que está más allá del límite de 65k fila de Excel cómo lo hace nuestro enfoque evolucionando a medida que aumentamos nuestros datos hasta En este artículo we146ll parar para echar un vistazo a las cuestiones planteadas al escalar los datos antes de saltar a MapReduce y cómo se acerca Hadoop cosas. Let146s comenzar con una media móvil simple en una pequeña muestra de los datos en Excel. We146ll progresar en el mismo ejemplo en I y luego we146ll trabajo nuestro camino hacia una plena aplicación MapReduce soplado en java (código incluido). Una vez que tenemos nuestros datos de la muestra que trabajan bien con MapReduce, we146ll calcular la media móvil simple de todas las acciones en la Bolsa de Nueva York desde 1970 hasta la actualidad en una sola pasada sin cambiar ningún código. Una media móvil simple de media móvil simple es la serie de promedios no ponderados en un subconjunto de puntos de datos de series temporales como una ventana deslizante avanza sobre el conjunto de datos de series de tiempo. Cada vez que se mueve la ventana que volver a calcular la media de los puntos en la ventana. Esto produce un conjunto de números que representan el promedio móvil de final. Por lo general la técnica de media móvil se utiliza con series de tiempo para destacar las tendencias a más largo plazo o suavizar el ruido a corto plazo. Las medias móviles son similares a filtros de paso bajo en el procesamiento de la señal, y matemáticamente se consideran un tipo de convolución. En otros términos, tomamos una ventana y llenarlo de manera First In First Out (FIFO) con puntos de datos de series de tiempo hasta que tengamos N puntos en ella. Entonces tomamos la media de estos puntos y añadir a nuestra lista de respuesta. Nos deslizamos nuestra ventana hacia adelante por puntos de datos M y de nuevo tomamos la media de los puntos de datos en la ventana. Este proceso se repite hasta que la ventana ya no se puede llenar momento en el que el cálculo se ha completado. Ahora que tenemos una idea general de lo que estamos viendo, let146s echar un vistazo a algunas maneras de hacer una media móvil simple. Próximamente en las partes 2 y 3 de esta serie el blog we8217ll tomar al lector de media móvil simple en Excel, a través de R, y luego en un ejemplo real con código de media móvil simple en MapReduce. 3 respuestas sobre ldquo media móvil simple, de ordenación secundario, MapReduce (Parte 1) rdquo Tiene que ser quisquilloso un poco aquí R 8211 no fue creado específicamente para manejar los datos de series de tiempo en la industria de servicios financieros. Es la implementación de código abierto del lenguaje de programación 8220S8221, que fue creada como un lenguaje de programación de propósito general estadística. Personalmente, encuentro manejo R8217s de los datos de series de tiempo bastante débil en comparación con I8217ve utilizan otros sistemas analíticos. (Don8217t me malinterpreten, I8217m un ventilador R grande-tiempo y el usuario.) Segundo 8211 después de años de trabajar y estudiar estas cosas, mi creencia es que fundamentalmente RDBMS8217s se paralizaron cuando se trata de mirar los datos de series de tiempo ya que se basan en la teoría de conjuntos. Los conjuntos son, naturalmente, no ordenada, mientras que las dimensiones de tiempo tienen un orden natural muy claro. La naturaleza desordenada de televisores hace que las matemáticas funcionó muy bien en favor de RDBMS para el procesamiento de transacciones, pero no tanto para el procesamiento analítico. Dicho todo esto, I8217m muchas ganas de ver el análisis de series de tiempo en Hadoop Evan Cuando afirman que les parece más analítica más potente que R para series de tiempo, se puede compartir cuáles. Sería bueno comparar notas. Jay ¿le importa la adición de los enlaces a las partes 2 y 3 Vi un ejemplo donde el asignador se reunieron todos los datos y durante la fase de reducir se calcularon los valores. Si usted tiene una media móvil simple (SMA), esta es una buena solución. Se empieza a sufrir si se implementa un backtesting en un GARCH (1, 1) más de 3000 puntos de datos. Mensaje de navegación Evitar completa GC en Apache HBase con tampones de asignación MEMSTORE-locales: Parte 3 de media móvil simple, de ordenación secundario, MapReduce (Parte 2) Nos parece estar teniendo un problema en el que durante todo el día alertas NAMENODERPCLATENCY activarán luego despejado justo después. Este es uno de esta mañana: NAMENODERPCLATENCY se ha convertido en malo: La media móvil de la latencia de RPC 11,7 segundo (s) en los 5 minuto (s) anterior. El promedio móvil del tiempo de espera es de 5,3 segundo (s). El promedio móvil del tiempo de procesamiento es de 6,4 segundo (s). Crítico umbral: 5 segundos (s). No he podido encontrar nada en mis libros o en Internet sobre cómo mitigar este (que no sea tal vez añadiendo más namenodes utilizando HDFS federación). Cuando miro el servidor que ejecuta el NameNode no estoy viendo ninguna pesada utililzation de CPU ni estoy viendo la memoria se deforme. La única indicación de cualquier cosa en este marco de tiempo es un pico de la red. ¿Hay algo que pueda hacer para mitigar este problema. No tenemos tramas gigantes habilitadas si eso hace la diferencia. A cuadros ingrese el servicio que usted ha mencionado, no ver todo lo relacionado con la NameNode (también buscado registro entero para NAMENODERPCLATENCY y no hemos encontrado nada). Estos son los argumentos de JVM pasados ​​al inicio. (Ext xmx XMS) HADOOPNAMENODEOPTS-Xms2779774976 - Xmx2779774976 - XX: UseParNewGC - XX: UseConcMarkSweepGC - XX: - CMSConcurrentMTEnabled - XX: CMSInitiatingOccupancyFraction70 - XX: CMSParallelRemarkEnabled - Dcom. sun. management. jmxremote - Dcom. sun. management. jmxremote. port3000 - Dcom. sun. management. jmxremote. sslfalse - Dcom. sun. management. jmxremote. authenticatefalse - XX: OnOutOfMemoryError / killpa rent. sh HADOOPLOGFILEhadoop en CMF-hdfs-NameNode-usapname01.ihtech. log. out HADOOPAUDITLOGGERINFO, RFAAUDIT HADOOPROOTLOGGERINFO, RFA CDHVERSION5 HADOOPLOGDIR / var / log / Hadoop-hdfs HADOOPSECURITYLOGGERINFO, RFAS Aquí están las estadísticas de la página dfshealth del NameNode. Resumen de seguridad está apagado. Safemode está apagado. 816955 ficheros y directorios, 953582 1770537 bloques objeto del sistema de archivos totales (s). Memoria de la pila utiliza 1,2 GB de 2,5 GB de memoria de la pila. Max memoria de la pila es de 2,5 GB. Montón memoria no utilizada 70.28 97.38 MB de memoria MB Commited no Montón. Max memoria no Montón es de 130 MB. Capacidad configurado: DFS utilizada: DFS utilizados: DFS restante: DFS usado cuando: DFS restante: Bloque piscina usado cuando: Bloque piscina usado cuando: DataNodes usos (Min / Mediana / Max / stdDev): Vivo NodesDead NodesDecommissioning NodesNumber de Sub-replicado BlocksNumber de los bloques a la espera de Supresión 503.99 TB 199.13 TB 25.21 TB 279,64 TB 39.51 55.49 199.13 TB 39.51 33.93 / 40.66 / 43.58 / 2.85 12 (dado de baja: 0) 0 (dado de baja: 0) 0 0 0 Estado NameNode Diario actual ID de transacción: 140 817 035 Diario Administrador de estado QJM de 10.32.88.30:8485, 10.32.88.23:8485, 10.32.88.24:8485 segmento de la escritura a partir de las txid 140817035. 10.32.88.30:8485 (TxID Escrito 140817035), 10.32.88.23:8485 (TxID Escrito 140817035), 10.32.88.24: 8485 (Escrito TxID 140817035) Gracias por su respuesta. De hecho, he resuelto este problema que fue causado por una combinación de dos factores. 1ª - Camino a muchos archivos pequeños siendo creado por los trabajos de desnormalización cerdo. Puestos de trabajo de procesamiento de datos de este resultado estaban haciendo a muchas llamadas RPC a la vez, básicamente la realización de un ataque de denegación de servicio en la NameNode (alrededor de 1800 llamadas RPC un segundo en el punto de fallo). 2º - Poco después de resolver el problema de los archivos pequeños, surgió otro problema. carga de procesamiento de alta cola aparentemente al azar, en el momento en que parecía muy extraño, porque el problema de archivos pequeños había sido resuelta y la cantidad de llamadas RPC estaba bien dentro de cota estable. La primera cuestión resultó ser bastante fácil de resolver. Los trabajos de cerdo fueron modificados para enrollar todos estos pequeños archivos en archivos mucho más grandes (no grandes en la escala de hadoop) de manera que en lugar de cientos de miles de archivos que pudimos obtener de ellas a un solo unos pocos cientos. La segunda cuestión era mucho más interesante. Esto fue difícil de solucionar problemas y de hecho resuelto por accidente. En realidad, hay casi ninguna documentación sobre lo que haría que la carga de procesamiento de alta cola que llevó finalmente a mí tirando hacia abajo el código fuente para el HDFS. Con el tiempo, resultó ser causado por el servidor JobHistory tratando de tirar de los troncos de / tmp / logs. El servidor JobHistory estaba corriendo en los fallos de permisos cuando se trata de tirar de dichos registros, lo que llevaría a la hora de cola alta de procesamiento y, finalmente, un retraso en la cola de RPC. ProTip de mi dolor: procesamiento de alta cola que sucede cuando un trabajo / alguien trata de operar en contra de archivos en HDFS que no tienen permisos para. El gran problema con esto es que incluso los usuarios menos privilegiados pueden causar inestabilidad del clúster tratando de operar contra los archivos que no tienen permiso para. He encontrado un problema con los registros JobHistory se recuperan en el navegador. En mi causa esto resultó ser causada por algún trabajo de limpieza que había hecho en el directorio HDFS / tmp. Yo había eliminado accidentalmente / tmp / logs sin darse cuenta de que este es el lugar de almacenamiento de los registros del servidor HILO JobHistory. La carpeta se vuelve a crear automáticamente por el proceso de hilado, pero con los permisos incorrectos necesarios para el servidor JobHistory de operar. Resulta que este problema fue causado por los esfuerzos anteriores para limpiar el espacio de archivos / tmp en HDFS. El directorio / tmp / logs es utilizado por el servidor JobHistory para almacenar registros para su recuperación. Cuando el directorio se eliminó como se envejeció a cabo se vuelve a crear automáticamente, pero con los permisos incorrectos (Se recreó con hilado: supergrupo en lugar de mapred: hadoop). La forma en que funciona el directorio es que aprovecha el bit pegajoso para forzar la herencia de los permisos de grupo en todos los nuevos archivos creados. En las condiciones correctas esto obligaría a todos los archivos y carpetas nuevas a ser de propiedad de Hadoop. En este caso se llevó a todas las carpetas y los archivos que están siendo propiedad de supergrupo, lo que impidió el servidor JobHistory de ser capaz de leer los registros. Se puede ver donde os comentaba en este hilo sobre cómo solucionarlo .. drwxrwxrwt - hilados de superusuario 0 10/05/2015 09:28 / tmp / logs rootnamenode hadoop-hdfs sudo - u hdfs hdfs DFS - ls / tmp / logs / drwxrwx --- - usuario1 supergrupo 0 10/05/2015 09:28 / tmp / logs / usuario1 usuario2 drwxrwx --- - 0 supergrupo 06/05/2015 12:46 / tmp / logs / usuario2 drwxrwx --- - usuario3


No comments:

Post a Comment