小编Vin*_*oba的帖子

检查数据块中的路径上是否存在增量表

在加载之前,我需要从 delta-lake 表中删除某些数据。我可以从增量表中删除数据(如果存在),但当表不存在时会失败。

下面的 Databricks scala 代码

// create delete statement
val del_ID = "Check_ID =" + "123"

// get delta table from path where data exists
val deltaTable = DeltaTable.forPath(spark, path)

// delete data from delta table
deltaTable.delete(del_ID)
Run Code Online (Sandbox Code Playgroud)

仅当该路径上存在增量数据时,上述代码才有效,否则将失败。

有人可以分享一种方法,如果增量数据存在,则执行删除语句,否则删除语句将被忽略?

scala databricks delta-lake

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

azure 函数的有效绑定名称是什么?

当我尝试运行下面定义的 azure 函数时,我收到以下错误日志

The 'my_function' function is in error: The binding name my_function_timer is invalid. Please assign a valid name to the binding.
Run Code Online (Sandbox Code Playgroud)

Azure Function 的有效绑定名称的格式是什么?

函数定义

我的目录中有两个文件my_function

  • __init__.py包含函数的Python代码
  • function.json包含功能的配置

这是这两个文件的内容

__init__.py

The 'my_function' function is in error: The binding name my_function_timer is invalid. Please assign a valid name to the binding.
Run Code Online (Sandbox Code Playgroud)

function.json

import azure.functions as func
import logging

def main(my_function_timer: func.TimerRequest) -> None:
    logging.info("My function starts")
    print("hello world")
    logging.info("My function stops")
Run Code Online (Sandbox Code Playgroud)

我使用Azure/functions-action@v1 github 操作部署此函数

python azure azure-functions

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

Spark-shell 命令抛出此错误:SparkContext:初始化 SparkContext 时出错

Spark 版本:3.2.0 Java 版本:8 Python 版本:3.7.3 Scala:sbt-1.5.5.msi

我按照此链接执行了所有步骤:https://phoenixnap.com/kb/install-spark-on-windows-10

当我通过cmd运行spark-shell命令时,它抛出以下错误:

C:\spark-3.2.0-bin-hadoop3.2\bin>spark-shell
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
21/11/11 00:14:24 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
21/11/11 00:14:26 ERROR SparkContext: Error initializing SparkContext.
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at org.apache.spark.executor.Executor.addReplClassLoaderIfNeeded(Executor.scala:909)
        at org.apache.spark.executor.Executor.<init>(Executor.scala:160)
        at org.apache.spark.scheduler.local.LocalEndpoint.<init>(LocalSchedulerBackend.scala:64)
        at org.apache.spark.scheduler.local.LocalSchedulerBackend.start(LocalSchedulerBackend.scala:132)
        at org.apache.spark.scheduler.TaskSchedulerImpl.start(TaskSchedulerImpl.scala:220) …
Run Code Online (Sandbox Code Playgroud)

apache-spark

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

pyspark-生成日期序列

我正在尝试生成一个日期序列

from pyspark.sql import functions as F

df1 = df.withColumn("start_dt", F.to_date(F.col("start_date"), "yyyy-mm-dd")) \
        .withColumn("end_dt", F.to_date(F.col("end_date"), "yyyy-mm-dd"))

df1.select("start_dt", "end_dt").show()
    
print("type(start_dt)", type("start_dt"))
print("type(end_dt)", type("end_dt"))

df2 = df1.withColumn("lineoffdate", F.expr("""sequence(start_dt,end_dt,1)"""))
Run Code Online (Sandbox Code Playgroud)

下面是输出

+---------------+----------+
|   start_date  |  end_date|
+---------------+----------+
|     2020-02-01|2020-03-21|
+---------------+----------+

type(start_dt)  <class 'str'>
type(end_dt)  <class 'str'>
Run Code Online (Sandbox Code Playgroud)

由于数据类型不匹配,无法解析 'sequence( start_dt, , 1)':序列仅支持整数、时间戳或日期类型;end_dt第 1 行位置 0;

即使将开始 dt 和结束 dt 转换为日期或时间戳之后,我看到列的类型仍然是 str 并在生成日期序列时出现上述错误。

date sequence pyspark aws-glue

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

检查日期是否有超过一天的间隔,如果在 Spark 中连续则将其分组

如果我有一个日期格式为 MM/DD/YYYY 的表格,如下所示。

+---+-----------+----------+
| id|  startdate|   enddate|
+---+-----------+----------+
|  1| 01/01/2022|01/31/2022|  
|  1| 02/01/2022|02/28/2022|  
|  1| 03/01/2022|03/31/2022|  
|  2| 01/01/2022|03/01/2022|  
|  2| 03/05/2022|03/31/2022| 
|  2| 04/01/2022|04/05/2022|
+---+-----------+----------+
Run Code Online (Sandbox Code Playgroud)

如何根据 id 列进行分组以及开始日期和结束日期是否连续?

一件事是,如果间隔超过一天,则将该行保留在新行上,这样上表将变为:

+---+-----------+----------+
| id|  startdate|   enddate|
+---+-----------+----------+
|  1| 01/01/2022|31/03/2022|  
|  2| 01/01/2022|03/01/2022|  
|  2| 03/05/2022|04/05/2022|  
+---+-----------+----------+
Run Code Online (Sandbox Code Playgroud)

id = 1 成为一行,因为 id =1 的所有日期都是连续的,即没有间隙 > 1,但 id 2 有两行,因为 03/01/2022 和 03/05/2022 之间有间隙。

python dataframe pandas apache-spark pyspark

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

如何在react中隐藏某些页面的页脚组件

我想在某些页面中隐藏页脚组件

应用程序.js

<div className="App">
  <Header setShowMenu={setShowMenu} />
  {showMenu ? <Menu navigateTo={navigateTo} setShowMenu={setShowMenu} /> : null}
  <Main navigateTo={navigateTo} />
  <Footer navigateTo={navigateTo} />
</div>
Run Code Online (Sandbox Code Playgroud)

main.jsx

<div>
    <Routes>
        <Route path="/" element={<HomePage navigateTo={navigateTo} />}  />
        <Route path="/precard" element={<PreCard />}  />
        <Route path="/order" element={<Order />}  />
        <Route path="/contact" element={<Contact />}  />
        <Route path="/thankspage" element={<ThanksPage navigateTo={navigateTo}/>}  />
        <Route path="/*" element={<HomePage />} />
    </Routes>
</div>
Run Code Online (Sandbox Code Playgroud)

注意:index.js 中的 Router

所以我想隐藏./order页面中的页脚

我希望你们能为我找到解决方案:)

javascript components reactjs react-router react-hooks

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