Создание df (Dataframe):
1 - Импортирована библиотека pandas
в консоль (в моем случае Jupyter) с помощью следующей команды. [1111 ]
import pandas as pd
2 - Теперь выполните следующую команду для создания df
(фрейм данных).
df = pd.DataFrame({'a': ['2018-12-11 15:26:07',
'2018-12-11 15:26:31']})
Теперь перейдем к требованию OP получить поле секунд 00
:
df['a']=df['a'].str.replace(':[0-9]+ Когда мы печатаем df
сейчас, вывод будет следующим.
a
0 2018-12-11 15:26:00
1 2018-12-11 15:26:00
, ':00')
df
Когда мы печатаем df
сейчас, вывод будет следующим.
a
0 2018-12-11 15:26:00
1 2018-12-11 15:26:00
Может оказаться, что пакетирование нескольких изменений в одной области блокировки будет работать лучше. Каждый синхронизированный блок / метод формирует транзакцию записи (при условии, что вы используете блокировку записи), которая должна быть отправлена на сервер (и, возможно, обратно на другие узлы). Изменяя группу полей, возможно, для группы объектов под одной блокировкой, вы уменьшаете накладные расходы на создание транзакции. По крайней мере, с чем поиграть.
Разделение также является ключевым способом повышения производительности. Изменения нужно отправлять только тем узлам, которые фактически используют объект. Поэтому, если вы можете разделить, какие узлы обычно касаются определенных объектов, это уменьшает количество изменений, которые должны быть отправлены по кластеру, что повышает производительность.
Предложения unnutz по использованию CHM или CSM являются хорошими. CHM обеспечивает больший параллелизм (поскольку каждый внутренний сегмент может быть заблокирован и использоваться одновременно) - обязательно поэкспериментируйте с большим количеством сегментов. У CSM фактически есть одна блокировка на запись, так что у таблицы N фактически есть N разделов. Это может значительно снизить конкуренцию за блокировку (за счет управления большим количеством объектов внутренней блокировки). Изменения, которые появятся в ближайшее время в CSM, значительно снизят стоимость блокировки MGMT.
Как правило, мы находим хорошую стратегию:
Не стесняйтесь спрашивать также на форумах Terracotta - все о машиностроении, полевой инженерии, наблюдении за продуктом mgmt те и отвечают там.
Не стесняйтесь спрашивать также на форумах Terracotta - все о машиностроении, полевой инженерии, наблюдении за продуктом mgmt те и отвечают там.
Не стесняйтесь спрашивать также на форумах Terracotta - все о машиностроении, полевой инженерии, наблюдении за продуктом mgmt те и отвечают там.
Firstly, I would suggest you to raise this question on their forums too.
Secondly, actually, performance of your application clustered over the Terracotta willl depend on number of write transactions that happen. So you could consider using ConcurrentStringMap (if your keys are Strings) or ConcurrentHashMap. Note that CSM is much more better than CHM from point of performance.
After all, POJOs are loaded lazily. That means each property is loaded on-demand.
Hope that helps.
Cheers