Articles of apache spark

Incluindo Valores Nulos em um Apache Spark Join

Eu gostaria de include valores nulos em uma associação do Apache Spark. O Spark não inclui linhas com nulo por padrão. Aqui está o comportamento padrão do Spark. val numbersDf = Seq( (“123”), (“456”), (null), (“”) ).toDF(“numbers”) val lettersDf = Seq( (“123”, “abc”), (“456”, “def”), (null, “zzz”), (“”, “hhh”) ).toDF(“numbers”, “letters”) val joinedDf = numbersDf.join(lettersDf, […]

Como criar um DataFrame vazio com um esquema especificado?

Eu quero criar no DataFrame com um esquema especificado no Scala. Eu tentei usar JSON read (quero dizer, ler arquivo vazio), mas não acho que seja a melhor prática.

Renomeando os nomes das colunas de um DataFrame no Spark Scala

Eu estou tentando converter todos os headers / nomes de coluna de um DataFrame no Spark-Scala. a partir de agora, procuro o seguinte código, que substitui apenas um único nome de coluna. for( i <- 0 to origCols.length – 1) { df.withColumnRenamed( df.columns(i), df.columns(i).toLowerCase ); }

Spark perdendo println () no stdout

Eu tenho o seguinte código: val blueCount = sc.accumulator[Long](0) val output = input.map { data => for (value <- data.getValues()) { if (record.getEnum() == DataEnum.BLUE) { blueCount += 1 println("Enum = BLUE : " + value.toString() } } data }.persist(StorageLevel.MEMORY_ONLY_SER) output.saveAsTextFile("myOutput") Então o blueCount não é zero, mas eu não tenho saída println ()! Estou […]

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 […]

NullPointerException no Scala Spark, parece ser causado pelo tipo de coleção?

sessionIdList é do tipo: scala> sessionIdList res19: org.apache.spark.rdd.RDD [String] = MappedRDD [17] em distinto em: 30 Quando tento executar abaixo do código: val x = sc.parallelize(List(1,2,3)) val cartesianComp = x.cartesian(x).map(x => (x)) val kDistanceNeighbourhood = sessionIdList.map(s => { cartesianComp.filter(v => v != null) }) kDistanceNeighbourhood.take(1) Eu recebo exceção: 14/05/21 16:20:46 ERROR Executor: Exception in task […]

Como forçar a avaliação do DataFrame no Spark

Às vezes (por exemplo, para testes e bechmarking) eu quero forçar a execução das transformações definidas em um DataFrame. AFAIK chamando uma ação como count não garante que todas as Columns sejam realmente calculadas, show só pode computar um subconjunto de todas as Rows (veja exemplos abaixo) Minha solução é escrever o DataFrame para o […]

Como processar registros de input de várias linhas no Spark

Eu tenho cada registro espalhado por várias linhas no arquivo de input (arquivo muito grande). Ex: Id: 2 ASIN: 0738700123 title: Test tile for this product group: Book salesrank: 168501 similar: 5 0738700811 1567184912 1567182813 0738700514 0738700915 categories: 2 |Books[283155]|Subjects[1000]|Religion & Spirituality[22]|Earth-Based Religions[12472]|Wicca[12484] |Books[283155]|Subjects[1000]|Religion & Spirituality[22]|Earth-Based Religions[12472]|Witchcraft[12486] reviews: total: 12 downloaded: 12 avg rating: 4.5 […]

Instalação do SparkR

Eu tenho a última versão do R – 3.2.1. Agora eu quero instalar o SparkR na R. Depois de executar: > install.packages(“SparkR”) Eu voltei: Installing package into ‘/home/user/R/x86_64-pc-linux-gnu-library/3.2’ (as ‘lib’ is unspecified) Warning in install.packages : package ‘SparkR’ is not available (for R version 3.2.1) Eu também instalei o Spark na minha máquina Spark 1.4.0 […]

Anexar uma coluna ao quadro de dados no Apache Spark 1.3

É possível e qual seria o método mais eficiente para adicionar uma coluna ao Data Frame? Mais especificamente, a coluna pode servir como IDs de linha para o Data Frame existente. Em um caso simplificado, lendo do arquivo e não tokenizing, eu posso pensar em algo como abaixo (no Scala), mas ele completa com erros […]