小编Rah*_*rma的帖子

spark createOrReplaceTempView vs createGlobalTempView

Spark Dataset 2.0提供了两个功能createOrReplaceTempViewcreateGlobalTempView.我无法理解两种功能之间的基本区别.

根据API文件:

createOrReplaceTempView:此临时视图的生命周期与用于创建此数据集的[[SparkSession]]相关联.
所以,当我调用时sparkSession.close(),定义将被销毁.这是真的吗?

createGlobalTempView:此临时视图的生命周期与此Spark应用程序绑定.

何时会破坏这种类型的视图?任何例子.喜欢sparkSession.close()?

apache-spark apache-spark-dataset

20
推荐指数
2
解决办法
2万
查看次数

Spark中sort和orderBy函数有什么区别

sort和orderBy spark DataFrame有什么区别?

scala> zips.printSchema
root
 |-- _id: string (nullable = true)
 |-- city: string (nullable = true)
 |-- loc: array (nullable = true)
 |    |-- element: double (containsNull = true)
 |-- pop: long (nullable = true)
 |-- state: string (nullable = true)
Run Code Online (Sandbox Code Playgroud)

以下命令产生相同的结果:

zips.sort(desc("pop")).show
zips.orderBy(desc("pop")).show
Run Code Online (Sandbox Code Playgroud)

apache-spark spark-dataframe

13
推荐指数
2
解决办法
6640
查看次数

Solr不一致的结果计数

我有四个节点solrcloud安装版本4.10和我的集合有4个分片,2个副本.我的应用程序提供实时数据摄取的搜索功能,数据摄取和搜索过程并行运行.

每天数据加载大约2~3MM记录(插入/更新操作),总文件数为80MM +.

我们面临的问题是solr在数据摄取的高峰时间内返回非常不一致的记录计数.

示例查询:

for i in `seq 1 50`;
do
       curl 'http://localhost:8888/solr/OPTUM/select?q=*:*&wt=json&indent=true'|grep numFound|rev|cut -d'{' -f1 |rev
done
Run Code Online (Sandbox Code Playgroud)

响应numfound变量显示有时非常少的文档计数然后实际存在于solr中.

请建议我是否需要进行任何配置更改以获得一致的计数.

lucene solr

11
推荐指数
1
解决办法
1176
查看次数

试图在JS中找到一个数字的因子

我刚刚开始学习JS,并理解找到一个因素的概念.但是,这段代码就是我到目前为止所拥有的.我有str变量,只输出第一个因素,即2.我试图将每个(int)添加到str作为因素列表.下面的代码片段有什么问题?

function calculate(num) {
    var str = "";
    var int = 2;
    if (num % int == 0) {
        str = str + int;
        int++;
    } else {
        int++;
    }
    alert(str);
}

calculate(232);
Run Code Online (Sandbox Code Playgroud)

javascript

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

如何从当前日期减去一天,然后在Hive中转换为字符串

情况就是这样.我正在尝试使用select语法从最后一天获取数据(今天我们有21.10因此我应该有20.10日期查询的数据将成为Talend中ETL过程的一部分所以我不能简单地做where date = '2016-10-20')问题是数据源中的所有列都是VARCHAR或STRING类型 - 日期也是.来源是Hive Hadoop.

我的代码:

select 
cast(to_date(from_unixtime(unix_timestamp(dzien ,'yyyyMMdd'), 'yyyy-MM-dd')) as date),
count(ns_utc) as ILOSC_ODSLON
from portal.portal_data 
where
portal_data.opl_ev_ty is null 
and portal_data.opl_ev_as is null
and cast(to_date(from_unixtime(unix_timestamp(dzien ,'yyyyMMdd'), 'yyyy-MM-dd')) as date) = CAST(TO_DATE(FROM_UNIXTIME(UNIX_TIMESTAMP()))as date) - interval '1' day

GROUP BY 
cast(to_date(from_unixtime(unix_timestamp(dzien ,'yyyyMMdd'), 'yyyy-MM-dd')) as date)
Run Code Online (Sandbox Code Playgroud)

使用该代码查询返回没有exept列名称.问题可能出在这一部分= CAST(TO_DATE(FROM_UNIXTIME(UNIX_TIMESTAMP()))as date) - interval '1' day.

我做了一些测试.当我运行此查询时

select CAST(TO_DATE(FROM_UNIXTIME(UNIX_TIMESTAMP()))as date) - interval '1' day
Run Code Online (Sandbox Code Playgroud)

结果是2016-10-20 00:00:00.0和部分00:00:00.0可能会破坏我的查询,因为在主查询中而不是= CAST(TO_DATE(FROM_UNIXTIME(UNIX_TIMESTAMP()))as date) - interval '1' day我放置条件= '2016-10-20' …

sql hadoop hive

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

如何从 shell 或 windows 命令行以内联方式执行 java jshell 命令

有没有办法在 REPL ( jshell) 上执行 java 命令作为内联命令而不启动它?

例如 Perl 内联命令

$perl -e 'printf("%06d", 19)'
000019
Run Code Online (Sandbox Code Playgroud)

我必须启动 jshell 才能运行任何命令:

$jshell
|  Welcome to JShell -- Version 9
|  For an introduction type: /help intro
jshell> String.format("%06d", 19)
$1 ==> "000019"
Run Code Online (Sandbox Code Playgroud)

我在这里发现了类似的问题,但为单个命令创建单独的文件并不是可行的解决方案jsh

同一篇文章的另一个解决方案是:echo "1+2"|jshell

temp=`echo 'String.format("%06d", 19)'|jshell`
echo $temp
Run Code Online (Sandbox Code Playgroud)

哎哟输出

| Welcome to JShell -- Version 9 | For an introduction type: /help intro jshell> String.format("%06d", 19) $1 ==> "000019" jshell>
Run Code Online (Sandbox Code Playgroud)

$temp只期待打印000019

java java-9 jshell

7
推荐指数
1
解决办法
2919
查看次数

什么是点冒号冒号(.::)在scala中的含义

下面的代码添加了res列表元素.我的问题是scala内部如何翻译.::符号?

代码段:

var res = List[(Int, Int)]()
res .::= (1, 2)
res .::= (3, 4)
res
Run Code Online (Sandbox Code Playgroud)

输出:

res56:List [(Int,Int)] = List((1,2),(3,4))

scala

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

Spark 使用编码器创建数据集,其中 row 是数组类型

我无法弄清楚编码器从 RDD 下面创建数据集的正确实现?

例如

JavaRDD<Integer[]>rdd= sparkContext.parallelize(
                Arrays.asList(new Integer[][]{new Integer[]{1,2},
                new Integer[]{3,4}
                ,new Integer[]{6,7}}));
Run Code Online (Sandbox Code Playgroud)

以下实施失败-

DataSet<Integer> ds = sqlContext.createDataset(rdd.rdd(),Encoders.bean(Integer[].class));
Run Code Online (Sandbox Code Playgroud)

线程“main”中的异常 java.lang.AssertionError: assertion failed at scala.Predef$.assert(Predef.scala:165) at org.apache.spark.sql.catalyst.encoders.ExpressionEncoder$.javaBean(ExpressionEncoder.scala: 90) 在 org.apache.spark.sql.Encoders$.bean(Encoders.scala:142) 在 org.apache.spark.sql.Encoders.bean(Encoders.scala)

如何为数组类型创建编码?谢谢!

java apache-spark apache-spark-sql

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

如何在没有管理员权限的Windows上安装Go语言?

我在我的Windows机器上没有管理员权限,我正在尝试安装Go,需要管理员权限才能完成安装.

有没有办法在没有管理员权限的Windows上安装GO?

go

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

如何将Spark RDD保存到本地文件系统

我可以用saveAsTextFile语法将文件保存到本地系统吗?这就是我编写保存文件的语法: insert_df.rdd.saveAsTextFile("<local path>")

当我正在尝试这样做时,我得到错误,因为没有权限,但我拥有该特定本地路径的所有权限,看起来它将文件视为HDFS文件.

hadoop hive scala dataframe apache-spark

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