我有一张桌子 DEST_COUNTRY_NAME ORIGIN_COUNTRY_NAME count
United States Romania 15
United States Croatia 1
United States Ireland 344 我把上面的代码转换成了DataFrame val flightData2015 = spark
.read
.option("inferSchema", "true")//infers the input schema automatically from data
.option("he
我是新来的火花/斯卡拉。我正在尝试读取一些数据从一个蜂窝表到一个火花数据,然后添加一个列的基础上的一些条件。这是我的代码:
val DF = hiveContext.sql("select * from (select * from test_table where partition_date='2017-11-22') a JOIN (select max(id) as bid from test_table where partition_date='2017-11-22' group by at_id) b ON a.id=b.bid")
enter code here我正在练习在数据仓库中添加一个列表。我可以开发udf并注册,然后在dataframe上应用,但我想尝试一种不同的方法,即提取list from dataframe col和它们map it,然后在新列中提取readd to the original dataframe。
val df = spark.createDataFrame(Seq(("A",1),("B",2),("C",3))).toDF("Str", "Num")
+---+---+
|Str|Num|
+---+---+
我已经给出了示例表。我想从"value“列获得每组"source”列的中位数。其中,源列是字符串,DataType值列是双DataType
scala> sqlContext.sql("SELECT * from tTab order by source").show
+---------------+-----+
| Source|value|
+---------------+-----+
|131.183.222.110
我正面临一个问题,我的火花工作被困在当地,而运行在IntelliJ的想法。我的工作一直持续到一个阶段,比如完成200个任务中的199个,或者完成3个任务中的一个,然后被困在那里。
我试图在IDE中使用评估表达式查看正在发生的事情,并注意到了一个奇怪的问题。如果我使用的是myDf.rdd.map(r => r).cache()
java.io.IOException: Class not found
at org.apache.xbean.asm5.ClassReader.a(Unknown Source)
at org.apache.xbean.asm5.ClassReader.<
我写了一个类,它得到一个DataFrame,在它上面做一些计算,并可以导出结果。数据帧由密钥列表生成。我知道我现在正在以一种非常低效的方式做这件事:
var l = List(34, 32, 132, 352) // Scala List
l.foreach{i =>
val data:DataFrame = DataContainer.getDataFrame(i) // get DataFrame
val x = new MyClass(data) // initialize MyClass with new Ob
我正在寻找一种方法来计算一些统计数据,例如,使用Scala计算星火中几个选定列的平均值。考虑到data对象是我的DataFrame,很容易计算出一列的平均值。
data.agg(avg("var1") as "mean var1").show
此外,我们还可以很容易地计算按其他列的值编制的平均交叉表,例如:
data.groupBy("category").agg(avg("var1") as "mean_var1").show
但是,我们如何计算DataFrame中列列表的平均值?我试着做这样的事,但没成功:
s
我有一个Spark DataFrame,它的列名包含一个空格。可以将这些行转换为case类吗?
例如,如果我这样做:
val data = Seq(1, 2, 3).toDF("a number")
case class Record(`a number`: Int)
data.as[Record]
我得到了这个例外:
org.apache.spark.sql.AnalysisException: cannot resolve '`a$u0020number`' given input columns: [a number];
at org.apache.s
我有一个带有pandas.tslib.Timestamp类型时间戳列的熊猫数据。我看了一下“createDataFrame”()中的pyspark源代码,它们似乎将数据转换为numpy记录数组,并将其转换为列表:
data = [r.tolist() for r in data.to_records(index=False)]
但是,时间戳类型在此过程中转换为一个longs列表:
> df = pd.DataFrame(pd.date_range(start=datetime.datetime.now(),periods=5,freq='s'))
> df
0 20
我试图使用星火红移库,并且无法操作由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
我正在尝试访问一个hive表,并从表/ dataframe中提取和转换某些列,然后将这些新列放到一个新的dataframe中。我正试着这样做-
val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)
val hiveDF = sqlContext.sql("select * from table_x")
val system_generated_id = hiveDF("unique_key")
val application_assigned_event_id = hiveDF("
我使用Scala从Spark 2.2 dataframe列中提取Ngrams,因此(本例中为trigram):
val ngram = new NGram().setN(3).setInputCol("incol").setOutputCol("outcol")
如何创建包含所有1到5克的输出列?所以它可能是这样的:
val ngram = new NGram().setN(1:5).setInputCol("incol").setOutputCol("outcol")
但这并不管用。我可以遍历N并为N的每个值创建新的数据帧,但这
我正在尝试在C# Spark中实现向量自定义函数。 我已经通过Spark .Net创建了.Net Spark环境。在我的IntegerType专栏中,Vector Udf (Apache箭头和Microsoft.Data.Analysis都是)很好用。现在,尝试将Integer数组类型的列发送到Vector Udf,但找不到实现此目的的方法。 用法 using System;
using System.Linq;
using Microsoft.Data.Analysis;
using Microsoft.Spark.Sql;
using func = Microsoft.Spark.Sql