Articles of apache spark sql

Como executar transformações independentes em paralelo usando o PySpark?

Eu estou tentando executar 2 funções fazendo transformações completamente independentes em um único RDD em paralelo usando o PySpark. Quais são alguns methods para fazer o mesmo? def doXTransforms(sampleRDD): (X transforms) def doYTransforms(sampleRDD): (Y Transforms) if __name__ == “__main__”: sc = SparkContext(appName=”parallelTransforms”) sqlContext = SQLContext(sc) hive_context = HiveContext(sc) rows_rdd = hive_context.sql(“select * from tables.X_table”) p1 […]

Spark – carrega o arquivo CSV como DataFrame?

Eu gostaria de ler um CSV em faísca e convertê-lo como DataFrame e armazená-lo em HDFS com df.registerTempTable(“table_name”) Eu tentei: scala> val df = sqlContext.load(“hdfs:///csv/file/dir/file.csv”) Erro que recebi: java.lang.RuntimeException: hdfs:///csv/file/dir/file.csv is not a Parquet file. expected magic number at tail [80, 65, 82, 49] but found [49, 59, 54, 10] at parquet.hadoop.ParquetFileReader.readFooter(ParquetFileReader.java:418) at org.apache.spark.sql.parquet.ParquetRelation2$MetadataCache$$anonfun$refresh$6.apply(newParquet.scala:277) at […]

O SparkSQL oferece suporte à subconsulta?

Eu estou executando esta consulta no shell Spark, mas me dá erro, sqlContext.sql( “select sal from samplecsv where sal < (select MAX(sal) from samplecsv)" ).collect().foreach(println) erro: java.lang.RuntimeException: [1.47] falha: “) ” esperado mas identificador MAX encontrado select sal from samplecsv onde sal <(selecione MAX (sal) de samplecsv) ^ em scala.sys.package $ .error (package.scala: 27) Alguém […]

Como definir o particionamento do DataFrame?

Eu comecei a usar o Spark SQL e DataFrames no Spark 1.4.0. Eu estou querendo definir um particionador personalizado em DataFrames, no Scala, mas não vendo como fazer isso. Uma das tabelas de dados com as quais estou trabalhando contém uma lista de transactions, por conta, silimar para o exemplo a seguir. Account Date Type […]

Conjunto de dados do Spark 2.0 vs DataFrame

começando com faísca 2.0.1 Eu tenho algumas perguntas. Eu li muita documentação, mas até agora não consegui encontrar respostas suficientes: Qual é a diferença entre df.select(“foo”) df.select($”foo”) eu entendi corretamente que myDataSet.map(foo.someVal) é typesafe e não será convertido em RDD mas permanece na representação DataSet / sem sobrecarga adicional (desempenho sábio para 2.0.0) todos os […]

Spark extrair valores de uma linha

Eu tenho o seguinte dataframe val transactions_with_counts = sqlContext.sql( “””SELECT user_id AS user_id, category_id AS category_id, COUNT(category_id) FROM transactions GROUP BY user_id, category_id”””) Eu estou tentando converter as linhas para objects de sorting, mas desde que x (0) retorna uma matriz isso falha val ratings = transactions_with_counts .map(x => Rating(x(0).toInt, x(1).toInt, x(2).toInt)) erro: valor toInt […]

Erro de codificador ao tentar mapear a linha do dataframe para a linha atualizada

Quando estou tentando fazer a mesma coisa no meu código como mencionado abaixo dataframe.map(row => { val row1 = row.getAs[String](1) val make = if (row1.toLowerCase == “tesla”) “S” else row1 Row(row(0),make,row(2)) }) Tomei a referência acima a partir daqui: Scala: Como posso replace o valor em Dataframs usando scala Mas estou recebendo erro de codificador […]

Como definir e usar uma function agregada definida pelo usuário no Spark SQL?

Eu sei como escrever uma UDF no Spark SQL: def belowThreshold(power: Int): Boolean = { return power < -40 } sqlContext.udf.register("belowThreshold", belowThreshold _) Posso fazer algo semelhante para definir uma function agregada? Como isso é feito? Para contexto, quero executar a seguinte consulta SQL: val aggDF = sqlContext.sql(“””SELECT span, belowThreshold(opticalReceivePower), timestamp FROM ifDF WHERE opticalReceivePower […]

Substituição SPARK SQL para a function agregada mysql GROUP_CONCAT

Eu tenho uma tabela de duas colunas do tipo string (nome de usuário, amigo) e para cada nome de usuário, eu quero coletar todos os seus amigos em uma linha, concatenados como strings (‘username1’, ‘friends1, friends2, friends3’). Eu sei MySql faz isso por GROUP_CONCAT, existe alguma maneira de fazer isso com SPARK SQL? obrigado

unpivot em spark-sql / pyspark

Eu tenho uma declaração do problema em que eu quero unpivot tabela em spark-sql / pyspark. Eu passei pela documentação e pude ver que há suporte apenas para o pivô, mas sem suporte para o pivô até o momento. Existe uma maneira que eu possa conseguir isso? Deixe minha mesa inicial ficar assim quando eu […]