小编use*_*589的帖子

如何在Spark-java数据框中添加常量列

我已经进口了

import org.apache.spark.sql.Column;
import org.apache.spark.sql.functions;
Run Code Online (Sandbox Code Playgroud)

在我的Java-Spark驱动程序中

DataFrame inputDFTwo = hiveContext.sql("select * from sourcing_src_tbl");
inputDFTwo.withColumn("asofdate", lit("2016-10-2"));
Run Code Online (Sandbox Code Playgroud)

这里"点亮"仍然在eclipse(windows)中显示错误.我应该包含哪些库才能使其正常工作.

java apache-spark

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

如何在join中选择数据框的所有列 - Spark-scala

我正在连接2​​个数据框并选择左框架的所有列,例如:

val join_df = first_df.join(second_df, first_df("id") === second_df("id") , "left_outer")
Run Code Online (Sandbox Code Playgroud)

在上面我想做的选择first_df.*.如何在连接中选择一帧的所有列?

hadoop scala apache-spark

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

从 Scala/Java Spark 运行 PySpark

我正在使用 Scala Spark 处理数据,并希望使用 pySpark/python 进行进一步处理。

下面是 Pyspark -> scala 的示例,但我正在寻找 scala->Pyspark

https://www.crowdstrike.com/blog/spark-hot-potato-passing-dataframes- Between-scala-spark-and-pyspark/

以下是我为 Scala-> PySpark 找到的一些方法

  1. Jython 是一种方式 -> 但它没有像 Python 那样拥有所有 api/libs
  2. 管道方法-> val pipedData = data.rdd.pipe("hdfs://namenode/hdfs/path/to/script.py")

但是使用 Pipe,我失去了数据帧的好处,而在 python 中,我可能需要将其重新转换为数据帧/数据集。

关于 Scala Spark 如何使用相同的 SparkContext/session 与 PYSpark 对话,还有其他更好的方法吗?

python scala apache-spark pyspark

6
推荐指数
0
解决办法
678
查看次数

Hive查询停留在99%

我在Hive中使用左连接插入记录。当我设置限制1时,查询有效,但对于所有记录,查询卡住了99%的减少工作。

下面的查询作品

   Insert overwrite table tablename select a.id , b.name from a left join b on a.id = b.id limit 1; 
Run Code Online (Sandbox Code Playgroud)

但这不是

    Insert overwrite table tablename select table1.id , table2.name from table1 left join table2 on table1.id = table2.id;
Run Code Online (Sandbox Code Playgroud)

我增加了减速器的数量,但仍然无法正常工作。

sql hadoop hive mapreduce hiveql

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

阴影类(来自 uber jar)在要导入的其他项目中不可见

我正在尝试隐藏依赖项(构建 uber jar)并在其他项目中导入。在 uber jar 中我可以看到类,但是当我尝试导入阴影文件夹/包时不显示。下面是我的 pom.xmls

带有阴影依赖项和 uber jar 的 Test1

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>test</groupId>
  <artifactId>test</artifactId>
  <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>


  <properties>
        <jdk.version>1.8</jdk.version>
        <jodatime.version>2.5</jodatime.version>
    </properties>

  <dependencies>
        <dependency>
            <groupId>joda-time</groupId>
            <artifactId>joda-time</artifactId>
            <version>${jodatime.version}</version>
        </dependency>
    </dependencies>

    <build>
        <finalName>test</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-eclipse-plugin</artifactId>
                <version>3.1.0</version>
                <configuration>
                    <downloadSources>true</downloadSources>
                    <downloadJavadocs>false</downloadJavadocs>
                </configuration>
            </plugin>

            <!-- Set a compiler level -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                    <source>${jdk.version}</source>
                    <target>${jdk.version}</target>
                </configuration>
            </plugin>

        <!-- Maven Shade Plugin -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-shade-plugin</artifactId>
          <version>3.1.0</version>
          <executions>
             <!-- Run shade goal on package phase -->
            <execution>
            <phase>package</phase> …
Run Code Online (Sandbox Code Playgroud)

java uberjar maven-3 maven

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

如何在Spark-scala中实现LEAD和LAG

我有最后的记录(后加入和过滤)的火花dataframe.I需要比较连续行的(通过键分区)列值,并根据病情需要改变e_date列的值,例如:

    sample table
    key1 key 2   col1   col2   s_date      e_date
     a     1      cv1     cv2   2014         2099 
     a     1      cv3     cv2   2016         2099 
     b     2      cv5     cv6   2016         2099
     b     2      cv5     cv6   2016         2099

   final table should look like 
    key1 key 2   col1   col2   s_date      e_date
     a     1      cv1     cv2   2014         2015  (next records s_date-1) 
     a     1      cv3     cv2   2016         2099 
     b     2      cv5     cv6   2016         2099
Run Code Online (Sandbox Code Playgroud)
  1. 上面的表有复合键,所以key1和key2是键

  2. 通过键比较col1和col2值

  3. 如果任何列具有新值结束旧记录,其中新记录的s_date为-1(最终表中的第1,2行)

  4. 如果没有变化则忽略新记录(最终表格中的第3行)

scala-spark中的任何指针

scala apache-spark

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

如何根据 Spark-scala 中的过滤器将数据集分为两部分

是否可以使用单个过滤器操作将 DF 分为两部分。例如

假设 df 有以下记录

UID    Col
 1       a
 2       b
 3       c
Run Code Online (Sandbox Code Playgroud)

如果我做

df1 = df.filter(UID <=> 2)
Run Code Online (Sandbox Code Playgroud)

我可以在单个操作中将过滤和未过滤的记录保存在不同的 RDD 中吗?

 df1 can have records where uid = 2
 df2 can have records with uid 1 and 3 
Run Code Online (Sandbox Code Playgroud)

scala apache-spark

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

在Spark中提取hive表分区 - java

Spark中有没有办法只提取分区列名?我正在使用的解决方法是运行" show extended table like table_name"使用HiveContext

hive apache-spark

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

标签 统计

apache-spark ×6

scala ×4

hadoop ×2

hive ×2

java ×2

hiveql ×1

mapreduce ×1

maven ×1

maven-3 ×1

pyspark ×1

python ×1

sql ×1

uberjar ×1