小编sat*_*eri的帖子

Hive 中的窗口函数

我正在 Hive 中探索窗口函数,并且能够理解所有 UDF 的功能。虽然,我无法理解我们与其他函数一起使用的分区依据和排序依据。以下是与我计划构建的查询非常相似的结构。

SELECT a, RANK() OVER(partition by b order by c) as d from xyz; 
Run Code Online (Sandbox Code Playgroud)

只是想了解这两个关键字所涉及的后台过程。

感谢帮助:)

sql hive mapreduce ranking-functions hadoop-partitioning

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

在配置单元中连接字符串列

我需要从表中连接 3 列,例如 a、b、c。如果列的长度大于 0,那么我必须连接所有 3 列并将其存储为以下格式的另一列 d。

1:a2:b3:c
Run Code Online (Sandbox Code Playgroud)

我已尝试以下查询,但我不确定如何继续,因为结果为 null。

select a,b,c,
case when length(a) >0 then '1:'+a else '' end + case when length(b) > 0 then '2:'+b else '' end + case when length(c) > 0 then '3:'+c else '' end AS d
from xyz;
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助:)

hive concatenation hiveql

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

PutItem AWS DynamoDB 的无效类型错误

我们有一个带有分区键和排序键的 DynamoDB 表。两个键都是数字类型。我正在尝试使用 boto3 DynamoDB 客户端的 PutItem API 插入项目。我收到以下错误;

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\satis\Anaconda3\envs\py369\lib\site-packages\botocore\client.py", line 316, in _api_call
    return self._make_api_call(operation_name, kwargs)
  File "C:\Users\satis\Anaconda3\envs\py369\lib\site-packages\botocore\client.py", line 599, in _make_api_call
    api_params, operation_model, context=request_context)
  File "C:\Users\satis\Anaconda3\envs\py369\lib\site-packages\botocore\client.py", line 647, in _convert_to_request_dict
    api_params, operation_model)
  File "C:\Users\satis\Anaconda3\envs\py369\lib\site-packages\botocore\validate.py", line 297, in serialize_to_request
    raise ParamValidationError(report=report.generate_report())
botocore.exceptions.ParamValidationError: Parameter validation failed:
Invalid type for parameter Item.doc_id.N, value: 1234, type: <class 'int'>, valid types: <class 'str'>
Invalid type for parameter Item.passage_id.N, value: 1, type: …
Run Code Online (Sandbox Code Playgroud)

python amazon-web-services amazon-dynamodb boto3

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