Articles of apache spark sql

Como usar o COGROUP para grandes conjuntos de dados

Eu tenho dois rdd’s val tab_a: RDD[(String, String)] e val tab_b: RDD[(String, String)] Eu estou usando cogroup para esses conjuntos de dados como: val tab_c = tab_a.cogroup(tab_b).collect.toArray val updated = tab_c.map { x => { //somecode } } Eu estou usando valores tab_c cogrouped para map function e funciona bem para conjuntos de dados pequenos, […]

Como dividir um dataframe em frameworks de dados com os mesmos valores de coluna?

Usando Scala, como posso dividir dataFrame em vários dataFrame (seja matriz ou coleção) com o mesmo valor de coluna. Por exemplo, eu quero dividir o seguinte DataFrame: ID Rate State 1 24 AL 2 35 MN 3 46 FL 4 34 AL 5 78 MN 6 99 FL para: dataset 1 ID Rate State 1 […]

Despertar consultas SQL vs funções de dataframe

Para executar um bom desempenho com o Spark. Eu estou querendo saber se isso é bom para usar consultas SQL via SQLContext ou se isso é melhor fazer consultas via funções DataFrame como df.select (). Qualquer ideia? 🙂

Spark sql como explodir sem perder valores nulos

Eu tenho um Dataframe que estou tentando nivelar. Como parte do processo, quero explodi-lo, portanto, se eu tiver uma coluna de matrizes, cada valor da matriz será usado para criar uma linha separada. Por exemplo, id | name | likes _______________________________ 1 | Luke | [baseball, soccer] Deve se tornar id | name | likes […]

Leia o JSON de múltiplas linhas no Apache Spark

Eu estava tentando usar um arquivo JSON como um pequeno database. Depois de criar uma tabela de modelos no DataFrame, consultei-a com o SQL e obtive uma exceção. Aqui está o meu código: val df = sqlCtx.read.json(“/path/to/user.json”) df.registerTempTable(“user_tt”) val info = sqlCtx.sql(“SELECT name FROM user_tt”) info.show() df.printSchema() : root |– _corrupt_record: string (nullable = true) […]

SparkSQL: Como lidar com valores nulos na function definida pelo usuário?

Dada Tabela 1 com uma coluna “x” do tipo String. Eu quero criar tabela 2 com uma coluna “y” que é uma representação de número inteiro das seqüências de data fornecidas em “x”. Essencial é manter null valores null na coluna “y”. Tabela 1 (Dataframe df1): +———-+ | x| +———-+ |2015-09-12| |2015-09-13| | null| | […]

Particionando em faísca durante a leitura do RDBMS via JDBC

Eu estou executando faísca no modo de cluster e lendo dados do RDBMS via JDBC. Conforme documentos do Spark, esses parâmetros de particionamento descrevem como particionar a tabela ao ler em paralelo a partir de vários trabalhadores: partitionColumn, lowerBound, upperBound, numPartitions Estes são parâmetros opcionais. O que aconteceria se eu não especificasse estes: Apenas 1 […]

DataFrame-ified zipWithIndex

Eu estou tentando resolver o antigo problema de adicionar um número de seqüência a um dataset. Eu estou trabalhando com DataFrames e parece não haver DataFrame equivalente a RDD.zipWithIndex . Por outro lado, o seguinte funciona mais ou menos da maneira que eu quero: val origDF = sqlContext.load(…) val seqDF= sqlContext.createDataFrame( origDF.rdd.zipWithIndex.map(ln => Row.fromSeq(Seq(ln._2) ++ […]

Como compactar dois (ou mais) DataFrame no Spark

Eu tenho dois DataFrame a e b . a é como Column 1 | Column 2 abc | 123 cde | 23 b é como Column 1 1 2 Eu quero zip b (ou ainda mais) DataFrames que se torna algo como: Column 1 | Column 2 | Column 3 abc | 123 | 1 […]

Como salvar / inserir cada DStream em uma tabela permanente

Eu tenho enfrentado um problema com o “Spark Streaming” sobre a inserção do Dstream de saída em uma tabela SQL permanente . Eu gostaria de inserir cada saída DStream (vinda de um único lote que faísca processos) em uma única tabela. Eu tenho usado o Python com uma versão do Spark 1.6.2. Nesta parte do […]