我有一个具有以下架构的 Spark df:
|-- col1 : string
|-- col2 : string
|-- customer: struct
| |-- smt: string
| |-- attributes: array (nullable = true)
| | |-- element: struct
| | | |-- key: string
| | | |-- value: string
Run Code Online (Sandbox Code Playgroud)
df:
#+-------+-------+---------------------------------------------------------------------------+
#|col1 |col2 |customer |
#+-------+-------+---------------------------------------------------------------------------+
#|col1_XX|col2_XX|"attributes":[[{"key": "A", "value": "123"},{"key": "B", "value": "456"}] |
#+-------+-------+---------------------------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)
数组的 json 输入如下所示:
...
"attributes": [
{
"key": "A",
"value": "123"
},
{
"key": "B",
"value": "456"
}
],
Run Code Online (Sandbox Code Playgroud)
我想循环属性数组并获取元素key="B",然后选择相应的 …
我有以下数据框让我们说:
df
A B C D E
z k s 7 d
z k s 6 l
x t r 2 e
x t r 1 x
u c r 8 f
u c r 9 h
y t s 5 l
y t s 2 o
Run Code Online (Sandbox Code Playgroud)
我想根据每个子行的 col D 对其进行排序(例如在这种情况下具有相同的 cols A、B 和 C)
预期输出将是:
df
A B C D E
z k s 6 l
z k s 7 d
x t r 1 x
x t r …Run Code Online (Sandbox Code Playgroud) 我有一个可以做一些工作的应用程序,最后它需要从hdfs中读取一些文件并将其存储到hbase中。该应用程序在使用master local时运行,而在使用Apache Spark时没有问题,但是当我使用spark-submit运行它时,它不再起作用了,我失败了。
命令行代码为:
./bin/spark-submit --packages org.apache.spark:spark-avro_2.11:2.4.0 pathjar
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
Java.io.IOException: java.lang.reflect.InvocationTargetException
at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:240)
at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:218)
at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:119)
at org.apache.hadoop.hbase.client.HBaseAdmin.checkHBaseAvailable(HBaseAdmin.java:3207)
at utils.HBaseClient.getConnection(HBaseClient.java:63)
at utils.HBaseClient.exists(HBaseClient.java:224)
at utils.HBaseUtils.createTable(HBaseUtils.java:201)
at utils.HBaseUtils.execute(HBaseUtils.java:86)
at Query1.getResponse(Query1.java:43)
at Main.main(Main.java:138)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.spark.deploy.JavaMainApplication.start(SparkApplication.scala:52)
at org.apache.spark.deploy.SparkSubmit.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:849)
at org.apache.spark.deploy.SparkSubmit.doRunMain$1(SparkSubmit.scala:167)
at org.apache.spark.deploy.SparkSubmit.submit(SparkSubmit.scala:195)
at org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:86)
at org.apache.spark.deploy.SparkSubmit$$anon$2.doSubmit(SparkSubmit.scala:924)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:933)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:238)
... 21 more
Caused by: java.lang.RuntimeException: Could not create interface …Run Code Online (Sandbox Code Playgroud) 正如我在标题中所说,是否有可能拥有一个使用 TimerTrigger 而不仅仅是 httpTrigger 触发的天蓝色持久应用程序?我在这里看到https://learn.microsoft.com/en-us/azure/azure-functions/durable/quickstart-python-vscode一个关于如何使用 HttpTrigger Client 实现它的非常好的示例,我想有一个示例在 python 中如何使用 TimerTrigger 客户端(如果可能的话)。
如有任何帮助,我们将不胜感激,提前致谢。