influxdata / influxdata/influxdb-client-python

ask question about field and value separate

Đang mở
#554 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Ngôn ngữ chính
Python
Star
793
Fork
186
Merge trung bình
3 giờ 2 phút
Pull request đã merge (30 ngày)
1

Mô tả

version: influxdb v2.4

i have a question about ETL when i use ui filter search my data

I expected my result like this

filed,value
---
voltage:20
current:30

but result is

_filed,_value
---
_filed,voltage

_filed,_value
---
_value,20

How do I fix it

part of Code:
~~~
column_list=["Location","Service","RackName","PduSide"]
ip_to_mapping = {
'192.168.20.100': ["room1","storage","A01","R"],
'192.168.20.101': ["room2","CRM","A02","L"]
}
drop_colummns=['table','_measurement','_start','_stop','_time','result']
#mapping
def mapping_function(num):
feeback_dict={}
for x in range(len(empty)):
feeback_dict[f'{empty[x]}']=ip_to_mapping[empty[x]][num]

return(feeback_dict)

#instance
client = InfluxDBClient(url=url, token=token, org=org)
write_api = client.write_api(write_options=SYNCHRONOUS)
query_api = client.query_api()

#query
query = ''' from(bucket: "delta_pdu")
|> range(start:-1m)
|> filter(fn: (r) => r["_measurement"] == "snmp") '''
result = query_api.query_data_frame(org=org, query=query)

# for x in result:
# print(x.columns)

#ETL
empty=[]
for table in result:
a=list(set(table['agent_host']))
for x in a:
empty.append(x)
for x in range(len(column_list)):
table[f'{column_list[x]}']=table['agent_host'].map(mapping_function(x))
table.set_index(table['_time'], inplace=True)
# print(table)
clear_data=table.drop(columns=drop_colummns)
clear_data_columns=list(clear_data.columns)
print(clear_data)
print(clear_data_columns)
print('=----')
# print(clear_data_columns)
for x in clear_data_columns:

if x[0]=='_':
clear_data_columns.remove(x)
print(clear_data_columns)

write_api.write(bucket=bucket2, org=org, record=clear_data,
data_frame_measurement_name='SNMP',
data_frame_tag_columns=clear_data_columns,
data_frame_field_columns=["_filed","_value"])
~~~

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu với mã máy khách Python sử dụng query_api.query_data_frame và write_api.write, đồng thời tái hiện phép biến đổi với InfluxDB v2.4. Kiểm tra các cột của dataframe trước khi ghi và so sánh chúng với các giá trị kỳ vọng được cung cấp cho field và value. Công việc được xem là hoàn tất khi xác định được nguyên nhân khiến _field và _value được xuất riêng biệt, đồng thời thiết lập được một cách sửa rõ ràng hoặc một giới hạn được ghi lại.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
python
Lĩnh vực
data, databases
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.