@ -27,7 +27,7 @@ from .DDBLoader import DDBLoader
class DDBHFTLoader ( DDBLoader ) :
"""
0. 从sql - server中读取calendar数据 , 并创建成员变量df_calendar , df_calendar可以保存在本地pickle作为缓存
| - ` def make_calendar_df ( s elf) - > df_calendar `
| - ` def make_calendar_df ( N elf) - > df_calendar `
1. 创建ddb中的数据库 , 分区性质从calendar数据中获取
| - ` def create_ddb_database ( self , df_calendar ) - > void `
@ -416,7 +416,7 @@ class DDBHFTLoader(DDBLoader):
with tqdm ( total = num_rows , leave = False ) as sub_pbar :
for _ in pool . imap_unordered (
functools . partial (
dump_stock_daily_to_ddb,
DDBHFTLoader. dump_stock_daily_to_ddb,
type_name = type_name ,
stock_id = stock_id
) ,
@ -434,7 +434,7 @@ class DDBHFTLoader(DDBLoader):
用于做多进程录入ddb的函数
"""
blob = gzip . decompress ( blob )
dataArray = eval ( f " ProtoBuffEntitys. { type_name } Message_pb2. { type_name } Array() " )
dataArray = eval ( f " { type_name } Message_pb2. { type_name } Array() " )
dataArray . ParseFromString ( blob )
data_dict_list = [
@ -452,10 +452,10 @@ class DDBHFTLoader(DDBLoader):
df = pd . DataFrame ( data_dict_list )
#df['code'] = make_symbol(df['code'])
df [ ' code ' ] = stock_id
df [ ' m_nDate ' ] = self . make_date ( df [ ' m_nDate ' ] )
df [ ' m_nTime ' ] = df [ ' m_nDate ' ] + self . make_time ( df [ ' m_nTime ' ] )
df [ ' m_nDate ' ] = DDBLoader . make_date ( df [ ' m_nDate ' ] )
df [ ' m_nTime ' ] = df [ ' m_nDate ' ] + DDBLoader . make_time ( df [ ' m_nTime ' ] )
for field_name in array_type_list :
df [ field_name ] = self . make_nparray ( df [ field_name ] )
df [ field_name ] = DDBLoader . make_nparray ( df [ field_name ] )
#print(f"Did create ddb table for dataframe of shape {df.shape}")
# self.make_table_skeleton(type_name, df.shape[0])
@ -468,7 +468,7 @@ class DDBHFTLoader(DDBLoader):
用于做多进程录入ddb的函数
"""
df_table_name = type_name
df = make_stock_daily_df( row [ 2 ] , type_name , stock_id )
df = DDBHFTLoader. make_stock_daily_df( row [ 2 ] , type_name , stock_id )
ddb_sess = ddb . session ( DDBLoader . ddb_config [ ' host ' ] , 8848 )
ddb_sess . login ( DDBLoader . ddb_config [ ' username ' ] , DDBLoader . ddb_config [ ' password ' ] )
@ -477,8 +477,8 @@ class DDBHFTLoader(DDBLoader):
# 因为在做Tick数据的时候, 偶然发生'CHUNK[xxx] does not exist.',所以在这里使用`append!`函数代换一下试试
ddb_sess . run ( " append!(loadTable( ' {dbPath} ' , ` {partitioned_table_name} ), {df_table_name} ) " . format (
#ddb_sess.run("tableInsert(loadTable('{dbPath}', `{partitioned_table_name}), {df_table_name})".format(
dbPath = DDB Loader. ddb_path ,
partitioned_table_name = type_name + DDB Loader. ddb_partition_table_suffix ,
dbPath = DDB HFT Loader. ddb_path ,
partitioned_table_name = type_name + DDB HFT Loader. ddb_partition_table_suffix ,
df_table_name = df_table_name
) )