我正在运行一个简单的sparkSQL查询,它在两个数据集上进行匹配,每个数据集大约是500 is。所以整个数据都在1TB左右。
val adreqPerDeviceid = sqlContext.sql("select count(Distinct a.DeviceId) as MatchCount from adreqdata1 a inner join adreqdata2 b ON a.DeviceId=b.DeviceId ")
adreqPerDeviceid.cache()
adreqPerDeviceid.show()
作业工作良好,直到数据加载(10k任务分配
我熟悉Python,我正在学习Spark-Scala。
我想构建一个DataFrame,它的结构由以下语法描述:
// Prepare training data from a list of (label, features) tuples.
val training = spark.createDataFrame(Seq(
(1.1, Vectors.dense(1.1, 0.1)),
(0.2, Vectors.dense(1.0, -1.0)),
(3.0, Vectors.dense(1.3, 1.0)),
(1.0, Vectors.dense(1.2, -0.5)
我试图使用星火红移库,并且无法操作由sqlContext.read()命令创建的数据(从redshift读取)。
这是我的代码:
Class.forName("com.amazon.redshift.jdbc41.Driver")
val conf = new SparkConf().setAppName("Spark Application").setMaster("local[2]")
val sc = new SparkContext(conf)
import org.apache.spark.sql._
val sqlContext
如何基于case class值选择String?
我的代码是
val spark = SparkSession.builder()...
val rddOfJsonStrings: RDD[String] = // some json strings as RDD
val classSelector: String = ??? // could be "Foo" or "Bar", or any other String value
case class Foo(foo: String)
case class Bar(bar: String)
if (cla
我有一个类型为rawData的变量DataFrame。我希望获取列的所有元素,并将它们转换为Scala Seq。
val res = rawData.map(x => x(0)).toSeq
但是,我得到了以下错误:
Error:(114, 40) value toSeq is not a member of org.apache.spark.rdd.RDD[Any]
val res = rawData.map(x => x(0)).toSeq
所以rawData.map(x => x(0))是RDD[Any]型的。如何将其转换为Seq
我有一个星火DataFrame:
我必须使用Scala从中计算平均精度。我想,根据文档,我们必须使用RDD而不是DataFrame。我尝试了以下几点:
var llist = df.select("predicted", "actual").rdd.map(x => (x.get(0), x.get(1))).collect()
// It gave Array[(Any, Any)]
var df_rdd =sc.parallelize(llist)
// df_rdd is org.apache.spark.rdd.RDD[(Any, An
尝试将我的spark scala项目转换为spark-java项目。我在scala中有一个日志,如下所示 import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
class ClassName{
val logger = LoggerFactory.getLogger("ClassName")
...
val dataframe1 = ....///read dataframe from text file.
...
logger.debug(&
我有一个RDD[MapString,Any],我正在尝试将它转换为Dataframe。我没有可以指定Dataframe的架构。
我试着做了一个rdd.toDF,但是没有帮助。它出现了一个错误,如下所示。
Exception in thread "main" java.lang.ClassNotFoundException: scala.Any
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.ja
我试图将dataframe中的所有列合并到一个名为value的列中。
Mycode:
val df = sparkSession.sql(sql)
val dfwithValue = df.withColumn("value",df.col("topic"))
dfwithValue.selectExpr("CAST(value AS STRING)").show() // no error
import org.apache.spark.sql.functions._
val cols = df.
我有spark scala应用程序。我正在尝试使用它内部的Futures来并行化几个独立的操作集。我在期货中调用它们,它们返回给我未来类型的DataFrame,我如何在最后合并它们,并在任何未来类型无法计算的情况下抛出错误。下面是我的代码。当我尝试在onComplete块中应用数据帧的联合时,它显示以下错误
value union is not a member of scala.concurrent.Future[(scala.concurrent.Future[org.apache.spark.sql.DataFrame], scala.concurrent.Future[org.apac
嗨,我正在尝试使用Apache和Apache运行一个简单的java程序。程序编译时没有任何错误,但在运行时我得到以下错误:
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.spark.sql.hive.HiveContext.sql(Ljava/lang/String;)Lorg/apache/spark/sql/DataFrame;
at SparkHiveExample.main(SparkHiveExample.java:13)
at sun.reflect.NativeMethodAc
在Scala中,尝试使用减法时,我得到以下错误
<console>:29: error: value subtract is not a member of org.apache.spark.sql.DataFrame
但是,从下面的链接中,我可以看到它在Python中存在
斯派克·斯卡拉有减法吗?如果不是的话,它的替代品是什么?
我的示例代码如下所示:
scala> val myDf1 = sc.parallelize(Seq(1,2,2)).toDF
myDf1: org.apache.spark.sql.DataFrame = [value: int]
scala
这有点傻,但我要从Spark1.6.1迁移到Spark2.0.2。我正在使用Databrick库,现在正在尝试使用内置的CSV DataFrameWriter。
以下代码:
// Get an SQLContext
val sqlContext = new SQLContext(sc)
import sqlContext.implicits._
var sTS = lTimestampToSummarize.toString()
val sS3InputPath = "s3://measurements/" + sTS + "/
因此,我执行必要的进口等
import org.apache.spark.sql.functions.udf
import org.apache.spark.sql.types._
import spark.implicits._
然后定义一些latlong点
val london = (1.0, 1.0)
val suburbia = (2.0, 2.0)
val southampton = (3.0, 3.0)
val york = (4.0, 4.0)
然后,我创建了一个这样的星火Dataframe,并检查它是否工作:
val exampleDF = Seq((List(lond