小编Avi*_*jit的帖子

Scala,Spark中==和===之间的区别

我来自Java背景,是Scala的新手.

我正在使用Scala和Spark.但是我无法理解我在哪里使用=====.

任何人都可以告诉我在哪种情况下我需要使用这两个运算符,有什么区别=====

scala apache-spark

35
推荐指数
3
解决办法
3万
查看次数

为少数列创建具有空值的DataFrame

我正在尝试创建一个DataFrame使用RDD.

首先,我创建一个RDD使用下面的代码 -

val account = sc.parallelize(Seq(
                                 (1, null, 2,"F"), 
                                 (2, 2, 4, "F"),
                                 (3, 3, 6, "N"),
                                 (4,null,8,"F")))
Run Code Online (Sandbox Code Playgroud)

它工作正常 -

account:org.apache.spark.rdd.RDD [(Int,Any,Int,String)] = ParallelCollectionRDD [0]并行化:27

但是,当尝试创建DataFrameRDD使用下面的代码

account.toDF("ACCT_ID", "M_CD", "C_CD","IND")
Run Code Online (Sandbox Code Playgroud)

我收到了以下错误

java.lang.UnsupportedOperationException:不支持类型为Any的架构

我分析说,每当我把null值放进去的时候,Seq只有我得到了错误.

有没有办法添加空值?

scala apache-spark spark-dataframe apache-spark-dataset

12
推荐指数
2
解决办法
6986
查看次数

有条件地加入Hive

我想在Hive中执行以下查询 -

select * from supp a inner join trd_acct b
on
(a.btch_id = 11170 AND a.btch_id = b.btch_id)
OR (a.btch_id = 11164 AND a.supp_id = b.supp_id)
Run Code Online (Sandbox Code Playgroud)

但是得到错误 -

FAILED:SemanticException [错误10019]:第3行:1或JOIN当前不支持'supp_id'

hadoop hive

6
推荐指数
1
解决办法
4774
查看次数

条件加入Spark DataFrame

我想加入两个DataFrame条件.

我有两个数据帧A和B.

包含id,m_cd和c_cd列B包含m_cd,c_cd和记录列

条件是 -

  • 如果m_cd为null,则将A的c_cd与B连接
  • 如果m_cd不为null,则将A的m_cd与B连接

我们可以在数据帧的()方法中使用" when"和" otherwise()" withcolumn,所以对于数据帧中的连接情况有没有办法做到这一点.

我已经使用Union.But想知道是否还有其他选项.

scala apache-spark

5
推荐指数
1
解决办法
9385
查看次数

使用Spark在HBase中批量加载

我正在使用HBase Version 1.2.0-cdh5.8.2Spark version 1.6.0

我正在使用打包toHBaseTable()方法it.nerdammer.spark.hbase保存RDDSparkHBASE

val experiencesDataset = sc.parallelize(Seq((001, null.asInstanceOf[String]), (001,"2016-10-25")))
experiencesDataset .toHBaseTable(experienceTableName).save()
Run Code Online (Sandbox Code Playgroud)

但是我想保存HBase使用中Spark的数据Bulk Load

我无法理解如何使用批量加载选项。请帮我

hadoop hbase scala apache-spark rdd

5
推荐指数
0
解决办法
626
查看次数

错误:未找到:值lit/when - spark scala

我正在使用scala,spark,IntelliJ和maven.

我使用下面的代码:

val joinCondition = when($"exp.fnal_expr_dt" >= $"exp.nonfnal_expr_dt",
$"exp.manr_cd"===$"score.MANR_CD")

val score = exprDF.as("exp").join(scoreDF.as("score"),joinCondition,"inner")
Run Code Online (Sandbox Code Playgroud)

val score= list.withColumn("scr", lit(0))
Run Code Online (Sandbox Code Playgroud)

但是当尝试使用maven构建时,低于错误 -

错误:未找到:值时

错误:未找到:值已点亮

对于$===我用import sqlContext.implicits.StringToColumn它工作正常.在行家build.But的的时间没有出现错误lit(0)when我需要进口或者还有什么其他的方式解决问题.

scala intellij-idea maven apache-spark

4
推荐指数
1
解决办法
7943
查看次数

在Hadoop中使用HBase而不是Hive的目的

在我的项目中,我们使用Hadoop 2,Spark,Scala.Scala是编程语言,Spark在这里用于分析.我们使用HiveHBase两者.我可以访问所有细节,如文件等HDFS使用Hive.但我的困惑是 -

  1. 当我能够使用时执行所有作业Hive,那么为什么HBase需要存储数据.这不是开销吗?
  2. 什么是功能性HIVEHBase
  3. 如果我们只使用Hive,那么应该是什么问题?

任何人都可以让我知道.

hadoop hbase hive hdfs

4
推荐指数
2
解决办法
220
查看次数

Spark中的舞台细节

我想DataFrameHDFS使用中保存为文本文件spark-shell.

scala> finalDataFrame.rdd.saveAsTextFile(targetFile)
Run Code Online (Sandbox Code Playgroud)

执行上面的代码后,我发现内部使用阶段做了一些工作.

[第13阶段:================================>(119 + 8)/ 200]

我试图了解这个过程的基本细节.但是不能这样做.我的问题是 -

  1. 什么是第13阶段
  2. 什么是(119 + 8)/ 200

[第18阶段:=============>(199 + 1)/ 200] [第27阶段:============>(173 + 3)/ 200 ]

  1. 这条线的含义是什么?
  2. 以前只有1个阶段正在运行,但在这里我可以找到2个阶段正在运行.因此,当多个阶段并行工作时?

hadoop scala apache-spark rdd spark-dataframe

3
推荐指数
1
解决办法
852
查看次数

比较Spark中当前行和上一行的值

我正在尝试比较下面的当前行和上一行的记录DataFrame。我要计算“金额”列。

scala> val dataset = sc.parallelize(Seq((1, 123, 50), (2, 456, 30), (3, 456, 70), (4, 789, 80))).toDF("SL_NO","ID","AMOUNT")

scala> dataset.show
+-----+---+------+
|SL_NO| ID|AMOUNT|
+-----+---+------+
|    1|123|    50|
|    2|456|    30|
|    3|456|    70|
|    4|789|    80|
+-----+---+------+
Run Code Online (Sandbox Code Playgroud)

计算逻辑:

  1. 对于第1行,AMOUNT应该从第一行开始为50。
  2. 对于第2行,如果SL_NO-2和1的ID不相同,则需要考虑SL_NO-2的AMOUNT(即-30)。否则为SL_NO的AMOUNT-1(即-50)
  3. 对于第3行,如果SL_NO-3和2的ID不相同,则需要考虑SL_NO-3的AMOUNT(即-70)。否则为SL_NO的AMOUNT-2(即-30)

其他行也需要遵循相同的逻辑。

预期产量:

+-----+---+------+
|SL_NO| ID|AMOUNT|
+-----+---+------+
|    1|123|    50|
|    2|456|    30|
|    3|456|    30|
|    4|789|    80|
+-----+---+------+
Run Code Online (Sandbox Code Playgroud)

请帮忙。

scala apache-spark apache-spark-sql

2
推荐指数
1
解决办法
4595
查看次数

Business Central 从另一个 DMN 调用 DMN 文件

我正在使用RedHat Business Central并尝试从另一个 DMN 文件调用一个 DMN 文件。

用例 - 如果工资 > 40000 则从 firstdmn 计算税金否则从secondarydmn计算税金

在此输入图像描述

我在Tax DMN 决策中添加了上下文文字表达式,并包含了下面的模型。但不知道如何进一步进行。请建议该怎么做。

在此输入图像描述

redhat rules decision-model-notation dmn

2
推荐指数
1
解决办法
777
查看次数

Cucumber:java.lang.IllegalArgumentException:不是文件或目录:G:\ Codebase\MavenCucumber\ - plugin

每当我尝试在eclipse中运行我的功能文件时使用Maven我收到以下错误:

线程"main"中的异常java.lang.IllegalArgumentException:不是文件或目录:G:\ Codebase\MavenCucumber - 在cucumber.runtime的cucumber.runtime.io.FileResourceIterator $ FileIterator.(FileResourceIterator.java:54)插件. io.FileResourceIterator.(FileResourceIterator.java:20)位于cucumber.runtime.mun上的cucumber.runtime.io.FileResourceIterable.iterator(FileResourceIterable.java:19),来自cucumber.runtime.model.CucumberFeature.load(CucumberFeature.java:38).在cucumber.api.cli.Mun.run(Main.java:20)的cucumber.runtime.Runtime.run(Runtime.java:92)运行的RuntimeOptions.cucumberFeatures(RuntimeOptions.java:117),来自cucumber.api.cli.Main .主要(Main.java:12)

在此输入图像描述

上面的图片是我项目的结构,而功能文件包含以下代码 -

@tag
Feature: Proof of Concept

  @tag1
  Scenario: This is my first test Scenerio
    Given This is my first step
    When This is my second step
    Then This is my third step
Run Code Online (Sandbox Code Playgroud)

java maven cucumber-junit

0
推荐指数
1
解决办法
1万
查看次数