小编maz*_*cha的帖子

在 Shell 脚本中执行另一个命令之前提示确认的命令

我使用以下命令来打开、替换、查看更改并保存文件:

sed 's/old string/new string/g' filename > filename1; diff filename1 filename; mv filename1 filename
Run Code Online (Sandbox Code Playgroud)

是否可以在执行命令之前要求确认mv,如下所示?

sed 's/old string/new string/g' filename > filename1
diff filename1 filename

<Some-Command here for user to provide Yes or NO confirmation>

mv filename1 filename
Run Code Online (Sandbox Code Playgroud)

目的是验证更改然后保存它。

shell

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

替代已弃用的方法sparksession.read.json(JavaRDD)

我使用 Sparksessions read().json 方法来读取 json 文件,然后将其转换为镶木地板文件,它工作正常,但 .json(JAVARDD) 方法显示为已弃用的方法。我们可以有替代方法吗?当前使用java:spark版本2.4.3

我已经浏览了 Spark 库的文档,但没有得到任何替代方法

JavaSparkContext sc1 = JavaSparkContext.fromSparkContext(SparkContext.getOrCreate());
JavaRDD<String> rddData = sc1.parallelize(data);
Dataset<Row> dataDF = spark.read().json(rddData);
Run Code Online (Sandbox Code Playgroud)

这里 .json 方法显示为已弃用的方法?我们可以有替代方法吗?

我已经完成了 How to parse JSON in Spark with fastxml without SparkSQL?

在这里他们建议使用 SqlContext 方法,该方法也已被弃用。

需要知道java Spark.read().json(JAVARDD对象)中.json的替代方法

java apache-spark apache-spark-sql

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

如何使用apache Spark在mysql数据库中创建表

我正在尝试创建一个 Spark 应用程序,它对于创建、读取、写入和更新 MySQL 数据很有用。那么,有没有办法使用Spark创建MySQL表呢?

下面我有一个 Scala-JDBC 代码,它在 MySQL 数据库中创建一个表。我怎样才能通过 Spark 做到这一点?

package SparkMysqlJdbcConnectivity

import org.apache.spark.sql.SparkSession
import java.util.Properties
import java.lang.Class
import java.sql.Connection
import java.sql.DriverManager

object MysqlSparkJdbcProgram {

  def main(args: Array[String]): Unit = {

    val spark = SparkSession.builder()
      .appName("MysqlJDBC Connections")
      .master("local[*]")
      .getOrCreate()

    val driver = "com.mysql.jdbc.Driver"
    val url = "jdbc:mysql://localhost:3306/world"
    val operationtype = "create table"
    val tablename = "country"
    val tablename2 = "state"

    val connectionProperties = new Properties()

    connectionProperties.put("user", "root")
    connectionProperties.put("password", "root")

    val jdbcDf = spark.read.jdbc(url, s"${tablename}", connectionProperties)

    operationtype.trim() match { …
Run Code Online (Sandbox Code Playgroud)

scala apache-spark apache-spark-sql

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

Spark 结构化流 未授权访问组

我正在尝试通过 Spark 结构化流从 Kafka 读取数据。但是,在Spark 2.4.0中,您无法为流设置group id(请参阅如何在Structured Streaming中为kafka数据源中的消费者组设置group.id?)。

然而,由于没有设置,spark 只是生成组 Id,而我陷入了 GroupAuthorizationException:

19/12/10 15:15:00 ERROR streaming.MicroBatchExecution: Query [id = 747090ff-120f-4a6d-b20e-634eb77ac7b8, runId = 63aa4cce-ad72-47f2-80f6-e87947b69685] terminated with error
org.apache.kafka.common.errors.GroupAuthorizationException: Not authorized to access group: spark-kafka-source-d2420426-13d5-4bda-ad21-7d8e43ebf518-1874352823-driver-2
Run Code Online (Sandbox Code Playgroud)

请问有什么想法可以绕过这个吗?有趣的是,我可以通过 kafka-console-consumer.sh 读取这些数据,我可以在 .properties 文件中传递组 ID。

抛出异常的代码:

val df = spark
  .readStream
  .format("kafka")
  .option("subscribe", "topic")
  .option("startingOffsets", "earliest")
  .option("kafka.group.id", "idThatShouldBeUsed")
  .option("kafka.bootstrap.servers", "server")
  .option("kafka.security.protocol", "SASL_SSL")
  .option("kafka.sasl.mechanism", "PLAIN")
  .option("kafka.ssl.truststore.location", "/location)
  .option("kafka.ssl.truststore.password", "pass")
  .option("kafka.sasl.jaas.config", """jaasToUse""")
  .load()
  .writeStream
  .outputMode("append")
  .format("console")
  .option("startingOffsets", "earliest")
  .start().awaitTermination()
Run Code Online (Sandbox Code Playgroud)

scala apache-kafka apache-spark spark-streaming spark-structured-streaming

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

Spark数据集:数据转换

我有一个格式为的 Spark 数据集 -

+--------------+--------+-----+
|name          |type    |cost |
+--------------+--------+-----+
|AAAAAAAAAAAAAA|XXXXX   |0.24|
|AAAAAAAAAAAAAA|YYYYY   |1.14|
|BBBBBBBBBBBBBB|XXXXX   |0.78|
|BBBBBBBBBBBBBB|YYYYY   |2.67|
|BBBBBBBBBBBBBB|ZZZZZ   |0.15|
|CCCCCCCCCCCCCC|XXXXX   |1.86|
|CCCCCCCCCCCCCC|YYYYY   |1.50|
|CCCCCCCCCCCCCC|ZZZZZ   |1.00|
+--------------+--------+----+
Run Code Online (Sandbox Code Playgroud)

我想将其转换为类型的对象 -

public class CostPerName {
    private String name;
    private Map<String, Double> costTypeMap;
}

Run Code Online (Sandbox Code Playgroud)

我想要的是,

+--------------+-----------------------------------------------+
|name          |           typeCost.                           |
+--------------+-----------------------------------------------+
|AAAAAAAAAAAAAA|(XXXXX, 0.24), (YYYYY, 1.14)                   |            
|BBBBBBBBBBBBBB|(XXXXX, 0.78), (YYYYY, 2.67), (ZZZZZ, 0.15)    |
|CCCCCCCCCCCCCC|(XXXXX, 1.86), (YYYYY, 1.50), (ZZZZZ, 1.00)    |
+--------------+-----------------------------------------------+
Run Code Online (Sandbox Code Playgroud)

即,对于每个name,我想要一张 的地图(type, cost)

实现这一转变的有效途径是什么?我可以使用一些数据帧转换吗?我尝试了 groupBy 但只有在执行 sum、avg 等聚合查询时才有效。

apache-spark apache-spark-sql apache-spark-dataset

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

凤凰错误:hbase 表未定义,即使它存在

我正在尝试使用 localhost:2181 的 zookeeper 访问在本地计算机上运行的 hbase。我安装了 phoenix-3.3.1-bin 并试图访问一个已经存在的 hbase tabe,但不能。因此,为了测试,我使用 phoenix 命令行创建了一个表,并在运行 !tables 命令时查看它。但是当我运行 selet 命令时,它显示错误。

这就是我正在做的,我使用的是 mac,hbase-0.94.26。同样的事情也发生在 squirrel-sql 客户端上。

0: jdbc:phoenix:localhost> CREATE TABLE stats.prod_metrics ( host char(50) not null, created_date date not null,
. . . . . . . . . . . . .>     txn_count bigint CONSTRAINT pk PRIMARY KEY (host, created_date) );
No rows affected (1.82 seconds)

0: jdbc:phoenix:localhost> !tables
+------------------------------------------+------------------------------------------+------------------------------------------+---------------------------+
|                TABLE_CAT                 |               TABLE_SCHEM                |                TABLE_NAME                |                TABLE_TYPE |
+------------------------------------------+------------------------------------------+------------------------------------------+---------------------------+
|                                          | SYSTEM                                   | CATALOG …
Run Code Online (Sandbox Code Playgroud)

java hbase phoenix squirrel-sql

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