Selecione a data mais antiga para cada Contato

Eu tenho a seguinte consulta, ele deve puxar apenas a primeira data para cada contato, mas ele está puxando todas as datas disponíveis. Eu revi vários tópicos aqui, mas não foi capaz de resolvê-lo. Isso é usando o SQL Server 2005.

SELECT DISTINCT o.SubscriberKey, MIN(o.EventDate) as OpenDate
FROM _Open o 
INNER JOIN _Job j
    ON o.JobID = j.JobID
GROUP BY o.SubscriberKey, o.EventDate

Atualmente, estou obtendo resultados como este:

Subscriber 1  17 July 2019 06:04
Subscriber 1  17 July 2019 06:05
Subscriber 1  18 July 2019 04:29
Subscriber 2  18 July 2019 07:04
Subscriber 2  18 July 2019 07:21
Subscriber 2  24 July 2019 05:40

E o que eu gostaria de alcançar:

Subscriber 1  17 July 2019 06:04
Subscriber 2  18 July 2019 07:04
0
2019-09-17 14:54:30
origem
4 respostas

Eu acho que você precisa de DataFrame.corr:

print (df.corr())
          A         B         C         D
A  1.000000  0.492366  0.942809 -0.408248
B  0.492366  1.000000  0.174078  0.301511
C  0.942809  0.174078  1.000000 -0.577350
D -0.408248  0.301511 -0.577350  1.000000

Se precisa de sua solução, é necessário mesmo índice e colunas de valores:

df = pd.DataFrame(data=d).set_index(df.columns)
print (df)
   A  B  C  D
A  1  2  0  1
B  0  0  0  0
C  3  1  8  0
D  0  0  0  1

df_T = df.T  

corr = df.apply(lambda s: df_T.corrwith(s))
print (corr)
          A         B         C         D
A -0.866025 -0.426401 -0.816497  0.000000
B       NaN       NaN       NaN       NaN
C  0.993399  0.489116  0.936586 -0.486664
D -0.471405 -0.522233 -0.333333  0.577350
+2
2019-09-17 14:59:48

Você pode simplesmente alterar o caminho de montagem e sperate a cada aplicação caminho de montagem para que os arquivos de POD em diretórios separados.

+1
2019-09-17 15:09:40

Se você armazenar seus dados em diferentes diretórios no seu volume, você pode usar o subcaminho para separar os dados em pastas diferentes usando vários pontos de montagem.

E. g.

apiVersion: v1
kind: Pod
metadata:
  name: podname
spec:
    containers:
    - name: containername
      image: imagename
      volumeMounts:
      - mountPath: /path/to/mount/point
        name: volumename
        subPath: volume_subpath
      - mountPath: /path/to/mount/point2
        name: volumename
        subPath: volume_subpath2
    volumes:
    - name: volumename
      persistentVolumeClaim:
        claimName: pvcname
+1
2019-09-17 15:09:40

Outra abordagem é utilizar o subPathExpr. Nota:

The subPath and subPathExpr properties are mutually exclusive

apiVersion: v1
kind: Pod
metadata:
  name: pod3
spec:
  containers:
  - name: pod3
    env:
    - name: POD_NAME
      valueFrom:
        fieldRef:
          apiVersion: v1
          fieldPath: metadata.name
    image: busybox
    command: [ "sh", "-c", "while [ true ]; do echo 'Hello'; sleep 10; done | tee -a /logs/hello.txt" ]
    volumeMounts:
    - name: workdir1
      mountPath: /logs
      subPathExpr: $(POD_NAME)
  restartPolicy: Never
  volumes:
  - name: workdir1
    persistentVolumeClaim:
      claimName: pvc1

Como descrito aqui.

Além disso, por favor, siga a Fixação do Subcaminho Volume de Vulnerabilidade em Kubernetes aqui e aqui

+1
2019-09-17 15:09:40

Veja mais perguntas por marcas